From cdc30e5c79c87bf27a27798c8893a8a8f885c7e6 Mon Sep 17 00:00:00 2001
From: Kyle <kyle.c.klenk@gmail.com>
Date: Tue, 6 Sep 2022 17:46:13 +0000
Subject: [PATCH] got vegNrgFlux compiling with changes

---
 build/makefile_sundials                       |    16 +-
 build/source/engine/computFlux.f90            |   717 +-
 build/source/engine/coupled_em.f90            |    18 +-
 build/source/engine/eval8summa.f90            |   674 +-
 build/source/engine/opSplittin.f90            |     4 +-
 .../source/engine/sundials/computEnthalpy.f90 |    26 +-
 .../source/engine/sundials/computHeatCap.f90  |    84 +-
 .../engine/sundials/computSnowDepth.f90       |    67 +-
 build/source/engine/sundials/eval8DAE.f90     |  1308 +-
 build/source/engine/sundials/evalDAE4IDA.f90  |    20 +-
 .../engine/sundials/soil_utilsSundials.f90    |     2 +-
 build/source/engine/sundials/solveByIDA.f90   |   971 +-
 .../engine/sundials/systemSolvSundials.f90    |   733 +-
 build/source/engine/sundials/t2enthalpy.f90   |   292 +-
 build/source/engine/sundials/type4IDA.f90     |   112 +-
 .../engine/sundials/varSubstepSundials.f90    |   824 +-
 build/source/engine/varSubstep.f90            |   304 +-
 build/source/engine/vegNrgFlux.f90            |  6594 +++----
 build/source/engine/vegNrgFlux_old.f90        |  3442 ++++
 utils/laugh_tests/celia1990/out.txt           | 14232 ++++++++++++++++
 .../settings/summa_zDecisions_celia1990.txt   |     2 +-
 .../celia1990/verification_data/runinfo.txt   |     2 +-
 .../summa_celia1990_G1-1_timestep.nc          |   Bin 593651 -> 593651 bytes
 23 files changed, 24192 insertions(+), 6252 deletions(-)
 mode change 100755 => 100644 build/source/engine/vegNrgFlux.f90
 create mode 100755 build/source/engine/vegNrgFlux_old.f90
 create mode 100644 utils/laugh_tests/celia1990/out.txt

diff --git a/build/makefile_sundials b/build/makefile_sundials
index 78d7a75..ce41bd7 100644
--- a/build/makefile_sundials
+++ b/build/makefile_sundials
@@ -19,16 +19,16 @@ ACTORS_LIBRARIES = -L/usr/lib -L/usr/local/lib -L/Summa-Actors/bin -lcaf_core -l
 
 
 # Production runs
-FLAGS_NOAH = -g -O3 -ffree-form -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors
-FLAGS_COMM = -g -O3 -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors
-FLAGS_SUMMA = -g -O3 -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors
-FLAGS_ACTORS = -g -O3 -Wfatal-errors -std=c++17
+# FLAGS_NOAH = -g -O3 -ffree-form -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors
+# FLAGS_COMM = -g -O3 -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors
+# FLAGS_SUMMA = -g -O3 -ffree-line-length-none -fmax-errors=0 -fPIC -Wfatal-errors
+# FLAGS_ACTORS = -g -O3 -Wfatal-errors -std=c++17
 
 # Debug runs
-# FLAGS_NOAH = -g -O0 -ffree-form -ffree-line-length-none -fmax-errors=0 -fbacktrace -Wno-unused -Wno-unused-dummy-argument -fPIC
-# FLAGS_COMM = -g -O0 -Wall -ffree-line-length-none -fmax-errors=0 -fbacktrace -fcheck=bounds -fPIC
-# FLAGS_SUMMA = -g -O0 -Wall -ffree-line-length-none -fmax-errors=0 -fbacktrace -fcheck=bounds -fPIC
-# FLAGS_ACTORS = -g -O0 -Wall -std=c++17
+FLAGS_NOAH = -g -O0 -ffree-form -ffree-line-length-none -fmax-errors=0 -fbacktrace -Wno-unused -Wno-unused-dummy-argument -fPIC
+FLAGS_COMM = -g -O0 -Wall -ffree-line-length-none -fmax-errors=0 -fbacktrace -fcheck=bounds -fPIC
+FLAGS_SUMMA = -g -O0 -Wall -ffree-line-length-none -fmax-errors=0 -fbacktrace -fcheck=bounds -fPIC
+FLAGS_ACTORS = -g -O0 -Wall -std=c++17
 
 
 
diff --git a/build/source/engine/computFlux.f90 b/build/source/engine/computFlux.f90
index 2fe3d0b..319abc7 100755
--- a/build/source/engine/computFlux.f90
+++ b/build/source/engine/computFlux.f90
@@ -100,10 +100,10 @@ public::soilCmpres
 public::soilCmpresSundials
 contains
 
- ! *********************************************************************************************************
- ! public subroutine computFlux: compute model fluxes
- ! *********************************************************************************************************
- subroutine computFlux(&
+! *********************************************************************************************************
+! public subroutine computFlux: compute model fluxes
+! *********************************************************************************************************
+subroutine computFlux(&
                        ! input-output: model control
                        nSnow,                    & ! intent(in):    number of snow layers
                        nSoil,                    & ! intent(in):    number of soil layers
@@ -146,326 +146,397 @@ contains
                        fluxVec,                  & ! intent(out):   flux vector (mixed units)
                        ! output: error control
                        err,message)               ! intent(out):   error code and error message
- ! provide access to flux subroutines
- USE vegNrgFlux_module,only:vegNrgFlux            ! compute energy fluxes over vegetation
- USE ssdNrgFlux_module,only:ssdNrgFlux            ! compute energy fluxes throughout the snow and soil subdomains
- USE vegLiqFlux_module,only:vegLiqFlux            ! compute liquid water fluxes through vegetation
- USE snowLiqFlx_module,only:snowLiqflx            ! compute liquid water fluxes through snow
- USE soilLiqFlx_module,only:soilLiqflx            ! compute liquid water fluxes through soil
- USE groundwatr_module,only:groundwatr            ! compute the baseflow flux
- USE bigAquifer_module,only:bigAquifer            ! compute fluxes for the big aquifer
- implicit none
- ! ---------------------------------------------------------------------------------------
- ! * dummy variables
- ! ---------------------------------------------------------------------------------------
- ! input-output: control
- integer(i4b),intent(in)         :: nSnow                       ! number of snow layers
- integer(i4b),intent(in)         :: nSoil                       ! number of soil layers
- integer(i4b),intent(in)         :: nLayers                     ! total number of layers
- logical(lgt),intent(in)         :: firstSubStep                ! flag to indicate if we are processing the first sub-step
- logical(lgt),intent(inout)      :: firstFluxCall               ! flag to indicate if we are processing the first flux call
- logical(lgt),intent(in)         :: firstSplitOper              ! flag to indicate if we are processing the first flux call in a splitting operation
- logical(lgt),intent(in)         :: computeVegFlux              ! flag to indicate if computing fluxes over vegetation
- logical(lgt),intent(in)         :: scalarSolution              ! flag to denote if implementing the scalar solution
- logical(lgt),intent(in)         :: requireLWBal                    ! flag to indicate if we need longwave to be balanced
- real(dp),intent(in)             :: drainageMeltPond            ! drainage from the surface melt pond (kg m-2 s-1)
- ! input: state variables
- real(dp),intent(in)             :: scalarCanairTempTrial       ! trial value for temperature of the canopy air space (K)
- real(dp),intent(in)             :: scalarCanopyTempTrial       ! trial value for temperature of the vegetation canopy (K)
- real(dp),intent(in)             :: mLayerTempTrial(:)          ! trial value for temperature of each snow/soil layer (K)
- real(dp),intent(in)             :: mLayerMatricHeadLiqTrial(:) ! trial value for the liquid water matric potential (m)
- real(dp),intent(in)             :: mLayerMatricHeadTrial(:)    ! trial value for the total water matric potential (m)
- real(dp),intent(in)             :: scalarAquiferStorageTrial   ! trial value of aquifer storage (m)
- ! input: diagnostic variables
- real(dp),intent(in)             :: scalarCanopyLiqTrial        ! trial value for mass of liquid water on the vegetation canopy (kg m-2)
- real(dp),intent(in)             :: scalarCanopyIceTrial        ! trial value for mass of ice on the vegetation canopy (kg m-2)
- real(dp),intent(in)             :: mLayerVolFracLiqTrial(:)    ! trial value for volumetric fraction of liquid water (-)
- real(dp),intent(in)             :: mLayerVolFracIceTrial(:)    ! trial value for volumetric fraction of ice (-)
- ! input: data structures
- type(model_options),intent(in)  :: model_decisions(:)          ! model decisions
- type(var_i),        intent(in)  :: type_data                   ! type of vegetation and soil
- type(var_d),        intent(in)  :: attr_data                   ! spatial attributes
- type(var_dlength),  intent(in)  :: mpar_data                   ! model parameters
- type(var_d),        intent(in)  :: forc_data                   ! model forcing data
- type(var_dlength),  intent(in)  :: bvar_data                   ! model variables for the local basin
- type(var_dlength),  intent(in)  :: prog_data                   ! prognostic variables for a local HRU
- type(var_ilength),  intent(in)  :: indx_data                   ! indices defining model states and layers
- ! input-output: data structures
- type(var_dlength),intent(inout) :: diag_data                   ! diagnostic variables for a local HRU
- type(var_dlength),intent(inout) :: flux_data                   ! model fluxes for a local HRU
- type(var_dlength),intent(inout) :: deriv_data                  ! derivatives in model fluxes w.r.t. relevant state variables
- ! input-output: flux vector and baseflow derivatives
- integer(i4b),intent(inout)      :: ixSaturation                ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
- real(dp),intent(out)            :: dBaseflow_dMatric(:,:)      ! derivative in baseflow w.r.t. matric head (s-1)
- real(dp),intent(out)            :: fluxVec(:)                  ! model flux vector (mixed units)
- ! output: error control
- integer(i4b),intent(out)        :: err                         ! error code
- character(*),intent(out)        :: message                     ! error message
- ! ---------------------------------------------------------------------------------------
- ! * local variables
- ! ---------------------------------------------------------------------------------------
- integer(i4b)                    :: local_ixGroundwater         ! local index for groundwater representation
- integer(i4b)                    :: iLayer                      ! index of model layers
- logical(lgt)                    :: doVegNrgFlux                ! flag to compute the energy flux over vegetation
- real(dp),dimension(nSoil)       :: dHydCond_dMatric            ! derivative in hydraulic conductivity w.r.t matric head (s-1)
- character(LEN=256)              :: cmessage                    ! error message of downwind routine
- ! --------------------------------------------------------------
- ! initialize error control
- err=0; message='computFlux/'
-
- ! *****
- ! (0) PRELIMINARIES...
- ! ********************
-
- ! get the necessary variables for the flux computations
- associate(&
-
- ! model decisions
- ixGroundwater                => model_decisions(iLookDECISIONS%groundwatr)%iDecision            ,& ! intent(in): [i4b]    groundwater parameterization
- ixSpatialGroundwater         => model_decisions(iLookDECISIONS%spatial_gw)%iDecision            ,& ! intent(in): [i4b]    spatial representation of groundwater (local-column or single-basin)
-
- ! domain boundary conditions
- upperBoundTemp               => forc_data%var(iLookFORCE%airtemp)                               ,& ! intent(in): [dp]     temperature of the upper boundary of the snow and soil domains (K)
- scalarRainfall               => flux_data%var(iLookFLUX%scalarRainfall)%dat(1)                  ,& ! intent(in): [dp]     rainfall rate (kg m-2 s-1)
-
- ! canopy and layer depth
- canopyDepth                  => diag_data%var(iLookDIAG%scalarCanopyDepth)%dat(1)               ,& ! intent(in): [dp   ]  canopy depth (m)
- mLayerDepth                  => prog_data%var(iLookPROG%mLayerDepth)%dat                        ,& ! intent(in): [dp(:)]  depth of each layer in the snow-soil sub-domain (m)
-
- ! indices of model state variables for the vegetation subdomain
- ixCasNrg                     => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)                       ,& ! intent(in): [i4b]    index of canopy air space energy state variable
- ixVegNrg                     => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)                       ,& ! intent(in): [i4b]    index of canopy energy state variable
- ixVegHyd                     => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)                       ,& ! intent(in): [i4b]    index of canopy hydrology state variable (mass)
- ixTopNrg                     => indx_data%var(iLookINDEX%ixTopNrg)%dat(1)                       ,& ! intent(in): [i4b]    index of upper-most energy state in the snow+soil subdomain
- ixTopHyd                     => indx_data%var(iLookINDEX%ixTopHyd)%dat(1)                       ,& ! intent(in): [i4b]    index of upper-most hydrology state in the snow+soil subdomain
- ixAqWat                      => indx_data%var(iLookINDEX%ixAqWat)%dat(1)                        ,& ! intent(in): [i4b]    index of water storage in the aquifer
-
- ! indices of model state variables for the snow+soil domain
- ixSnowSoilNrg                => indx_data%var(iLookINDEX%ixSnowSoilNrg)%dat                     ,& ! intent(in): [i4b(:)] indices for energy states in the snow+soil subdomain
- ixSnowSoilHyd                => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat                     ,& ! intent(in): [i4b(:)] indices for hydrology states in the snow+soil subdomain
- layerType                    => indx_data%var(iLookINDEX%layerType)%dat                         ,& ! intent(in): [i4b(:)] type of layer (iname_soil or iname_snow)
-
- ! number of state variables of a specific type
- nSnowSoilNrg                 => indx_data%var(iLookINDEX%nSnowSoilNrg )%dat(1)                  ,& ! intent(in): [i4b]    number of energy state variables in the snow+soil domain
- nSnowOnlyNrg                 => indx_data%var(iLookINDEX%nSnowOnlyNrg )%dat(1)                  ,& ! intent(in): [i4b]    number of energy state variables in the snow domain
- nSoilOnlyNrg                 => indx_data%var(iLookINDEX%nSoilOnlyNrg )%dat(1)                  ,& ! intent(in): [i4b]    number of energy state variables in the soil domain
- nSnowSoilHyd                 => indx_data%var(iLookINDEX%nSnowSoilHyd )%dat(1)                  ,& ! intent(in): [i4b]    number of hydrology variables in the snow+soil domain
- nSnowOnlyHyd                 => indx_data%var(iLookINDEX%nSnowOnlyHyd )%dat(1)                  ,& ! intent(in): [i4b]    number of hydrology variables in the snow domain
- nSoilOnlyHyd                 => indx_data%var(iLookINDEX%nSoilOnlyHyd )%dat(1)                  ,& ! intent(in): [i4b]    number of hydrology variables in the soil domain
-
- ! snow parameters
- snowfrz_scale                => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)                  ,& ! intent(in): [dp] scaling parameter for the snow freezing curve (K-1)
-
- ! derivatives
- dPsiLiq_dPsi0                => deriv_data%var(iLookDERIV%dPsiLiq_dPsi0   )%dat                 ,&  ! intent(in):  [dp(:)] derivative in liquid water matric pot w.r.t. the total water matric pot (-)
- dPsiLiq_dTemp                => deriv_data%var(iLookDERIV%dPsiLiq_dTemp   )%dat                 ,&  ! intent(in):  [dp(:)] derivative in the liquid water matric potential w.r.t. temperature
- mLayerdTheta_dTk             => deriv_data%var(iLookDERIV%mLayerdTheta_dTk)%dat                 ,&  ! intent(in):  [dp(:)] derivative of volumetric liquid water content w.r.t. temperature
- dTheta_dTkCanopy             => deriv_data%var(iLookDERIV%dTheta_dTkCanopy)%dat(1)              ,&  ! intent(in):  [dp]    derivative of volumetric liquid water content w.r.t. temperature
-
- ! number of flux calls
- numFluxCalls                 => diag_data%var(iLookDIAG%numFluxCalls)%dat(1)                    ,&  ! intent(out): [dp] number of flux calls (-)
-
- ! net fluxes over the vegetation domain
- scalarCanairNetNrgFlux       => flux_data%var(iLookFLUX%scalarCanairNetNrgFlux)%dat(1)          ,&  ! intent(out): [dp] net energy flux for the canopy air space        (W m-2)
- scalarCanopyNetNrgFlux       => flux_data%var(iLookFLUX%scalarCanopyNetNrgFlux)%dat(1)          ,&  ! intent(out): [dp] net energy flux for the vegetation canopy       (W m-2)
- scalarGroundNetNrgFlux       => flux_data%var(iLookFLUX%scalarGroundNetNrgFlux)%dat(1)          ,&  ! intent(out): [dp] net energy flux for the ground surface          (W m-2)
- scalarCanopyNetLiqFlux       => flux_data%var(iLookFLUX%scalarCanopyNetLiqFlux)%dat(1)          ,&  ! intent(out): [dp] net liquid water flux for the vegetation canopy (kg m-2 s-1)
-
- ! net fluxes over the snow+soil domain
- mLayerNrgFlux                => flux_data%var(iLookFLUX%mLayerNrgFlux)%dat                      ,&  ! intent(out): [dp] net energy flux for each layer within the snow+soil domain (J m-3 s-1)
- mLayerLiqFluxSnow            => flux_data%var(iLookFLUX%mLayerLiqFluxSnow)%dat                  ,&  ! intent(out): [dp] net liquid water flux for each snow layer (s-1)
- mLayerLiqFluxSoil            => flux_data%var(iLookFLUX%mLayerLiqFluxSoil)%dat                  ,&  ! intent(out): [dp] net liquid water flux for each soil layer (s-1)
-
- ! evaporative fluxes
- scalarCanopyTranspiration    => flux_data%var(iLookFLUX%scalarCanopyTranspiration)%dat(1)       ,&  ! intent(out): [dp]    canopy transpiration (kg m-2 s-1)
- scalarCanopyEvaporation      => flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1)         ,&  ! intent(out): [dp]    canopy evaporation/condensation (kg m-2 s-1)
- scalarGroundEvaporation      => flux_data%var(iLookFLUX%scalarGroundEvaporation)%dat(1)         ,&  ! intent(out): [dp]    ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
- mLayerTranspire              => flux_data%var(iLookFLUX%mLayerTranspire)%dat                    ,&  ! intent(out): [dp(:)] transpiration loss from each soil layer (m s-1)
-
- ! fluxes for the snow+soil domain
- iLayerNrgFlux                => flux_data%var(iLookFLUX%iLayerNrgFlux)%dat                      ,&  ! intent(out): [dp(0:)] vertical energy flux at the interface of snow and soil layers
- iLayerLiqFluxSnow            => flux_data%var(iLookFLUX%iLayerLiqFluxSnow)%dat                  ,&  ! intent(out): [dp(0:)] vertical liquid water flux at snow layer interfaces (-)
- iLayerLiqFluxSoil            => flux_data%var(iLookFLUX%iLayerLiqFluxSoil)%dat                  ,&  ! intent(out): [dp(0:)] vertical liquid water flux at soil layer interfaces (-)
- mLayerHydCond                => flux_data%var(iLookFLUX%mLayerHydCond)%dat                      ,&  ! intent(out): [dp(:)]  hydraulic conductivity in each soil layer (m s-1)
- mLayerBaseflow               => flux_data%var(iLookFLUX%mLayerBaseflow)%dat                     ,&  ! intent(out): [dp(:)]  baseflow from each soil layer (m s-1)
- scalarSnowDrainage           => flux_data%var(iLookFLUX%scalarSnowDrainage)%dat(1)              ,&  ! intent(out): [dp]     drainage from the snow profile (m s-1)
- scalarSoilDrainage           => flux_data%var(iLookFLUX%scalarSoilDrainage)%dat(1)              ,&  ! intent(out): [dp]     drainage from the soil profile (m s-1)
- scalarSoilBaseflow           => flux_data%var(iLookFLUX%scalarSoilBaseflow)%dat(1)              ,&  ! intent(out): [dp]     total baseflow from the soil profile (m s-1)
-
- ! infiltration
- scalarInfilArea              => diag_data%var(iLookDIAG%scalarInfilArea   )%dat(1)              ,&  ! intent(out): [dp] fraction of unfrozen area where water can infiltrate (-)
- scalarFrozenArea             => diag_data%var(iLookDIAG%scalarFrozenArea  )%dat(1)              ,&  ! intent(out): [dp] fraction of area that is considered impermeable due to soil ice (-)
- scalarSoilControl            => diag_data%var(iLookDIAG%scalarSoilControl )%dat(1)              ,&  ! intent(out): [dp] soil control on infiltration, zero or one
- scalarMaxInfilRate           => flux_data%var(iLookFLUX%scalarMaxInfilRate)%dat(1)              ,&  ! intent(out): [dp] maximum infiltration rate (m s-1)
- scalarInfiltration           => flux_data%var(iLookFLUX%scalarInfiltration)%dat(1)              ,&  ! intent(out): [dp] infiltration of water into the soil profile (m s-1)
-
- ! boundary fluxes in the soil domain
- scalarThroughfallRain        => flux_data%var(iLookFLUX%scalarThroughfallRain)%dat(1)           ,&  ! intent(out): [dp] rain that reaches the ground without ever touching the canopy (kg m-2 s-1)
- scalarCanopyLiqDrainage      => flux_data%var(iLookFLUX%scalarCanopyLiqDrainage)%dat(1)         ,&  ! intent(out): [dp] drainage of liquid water from the vegetation canopy (kg m-2 s-1)
- scalarRainPlusMelt           => flux_data%var(iLookFLUX%scalarRainPlusMelt)%dat(1)              ,&  ! intent(out): [dp] rain plus melt (m s-1)
- scalarSurfaceRunoff          => flux_data%var(iLookFLUX%scalarSurfaceRunoff)%dat(1)             ,&  ! intent(out): [dp] surface runoff (m s-1)
- scalarExfiltration           => flux_data%var(iLookFLUX%scalarExfiltration)%dat(1)              ,&  ! intent(out): [dp] exfiltration from the soil profile (m s-1)
- mLayerColumnOutflow          => flux_data%var(iLookFLUX%mLayerColumnOutflow)%dat                ,&  ! intent(out): [dp(:)] column outflow from each soil layer (m3 s-1)
-
- ! fluxes for the aquifer
- scalarAquiferTranspire       => flux_data%var(iLookFLUX%scalarAquiferTranspire)%dat(1)          ,&  ! intent(out): [dp] transpiration loss from the aquifer (m s-1
- scalarAquiferRecharge        => flux_data%var(iLookFLUX%scalarAquiferRecharge)%dat(1)           ,&  ! intent(out): [dp] recharge to the aquifer (m s-1)
- scalarAquiferBaseflow        => flux_data%var(iLookFLUX%scalarAquiferBaseflow)%dat(1)           ,&  ! intent(out): [dp] total baseflow from the aquifer (m s-1)
-
- ! total runoff
- scalarTotalRunoff            => flux_data%var(iLookFLUX%scalarTotalRunoff)%dat(1)               ,&  ! intent(out): [dp] total runoff (m s-1)
-
- ! derivatives in net vegetation energy fluxes w.r.t. relevant state variables
- dCanairNetFlux_dCanairTemp   => deriv_data%var(iLookDERIV%dCanairNetFlux_dCanairTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy air space flux w.r.t. canopy air temperature
- dCanairNetFlux_dCanopyTemp   => deriv_data%var(iLookDERIV%dCanairNetFlux_dCanopyTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy air space flux w.r.t. canopy temperature
- dCanairNetFlux_dGroundTemp   => deriv_data%var(iLookDERIV%dCanairNetFlux_dGroundTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy air space flux w.r.t. ground temperature
- dCanopyNetFlux_dCanairTemp   => deriv_data%var(iLookDERIV%dCanopyNetFlux_dCanairTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy flux w.r.t. canopy air temperature
- dCanopyNetFlux_dCanopyTemp   => deriv_data%var(iLookDERIV%dCanopyNetFlux_dCanopyTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy flux w.r.t. canopy temperature
- dCanopyNetFlux_dGroundTemp   => deriv_data%var(iLookDERIV%dCanopyNetFlux_dGroundTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy flux w.r.t. ground temperature
- dCanopyNetFlux_dCanWat       => deriv_data%var(iLookDERIV%dCanopyNetFlux_dCanWat      )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy fluxes w.r.t. canopy liquid water content
- dGroundNetFlux_dCanairTemp   => deriv_data%var(iLookDERIV%dGroundNetFlux_dCanairTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground flux w.r.t. canopy air temperature
- dGroundNetFlux_dCanopyTemp   => deriv_data%var(iLookDERIV%dGroundNetFlux_dCanopyTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground flux w.r.t. canopy temperature
- dGroundNetFlux_dGroundTemp   => deriv_data%var(iLookDERIV%dGroundNetFlux_dGroundTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground flux w.r.t. ground temperature
- dGroundNetFlux_dCanWat       => deriv_data%var(iLookDERIV%dGroundNetFlux_dCanWat      )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground fluxes w.r.t. canopy liquid water content
-
- ! derivatives in evaporative fluxes w.r.t. relevant state variables
- dCanopyEvaporation_dTCanair  => deriv_data%var(iLookDERIV%dCanopyEvaporation_dTCanair )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. canopy air temperature
- dCanopyEvaporation_dTCanopy  => deriv_data%var(iLookDERIV%dCanopyEvaporation_dTCanopy )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. canopy temperature
- dCanopyEvaporation_dTGround  => deriv_data%var(iLookDERIV%dCanopyEvaporation_dTGround )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. ground temperature
- dCanopyEvaporation_dCanWat   => deriv_data%var(iLookDERIV%dCanopyEvaporation_dCanWat  )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. canopy liquid water content
- dGroundEvaporation_dTCanair  => deriv_data%var(iLookDERIV%dGroundEvaporation_dTCanair )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. canopy air temperature
- dGroundEvaporation_dTCanopy  => deriv_data%var(iLookDERIV%dGroundEvaporation_dTCanopy )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. canopy temperature
- dGroundEvaporation_dTGround  => deriv_data%var(iLookDERIV%dGroundEvaporation_dTGround )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. ground temperature
- dGroundEvaporation_dCanWat   => deriv_data%var(iLookDERIV%dGroundEvaporation_dCanWat  )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. canopy liquid water content
-
- ! derivatives in canopy water w.r.t canopy temperature
- dCanLiq_dTcanopy             => deriv_data%var(iLookDERIV%dCanLiq_dTcanopy            )%dat(1)  ,&  ! intent(out): [dp] derivative of canopy liquid storage w.r.t. temperature
-
- ! derivatives in canopy liquid fluxes w.r.t. canopy water
- scalarCanopyLiqDeriv         => deriv_data%var(iLookDERIV%scalarCanopyLiqDeriv        )%dat(1)  ,&  ! intent(out): [dp] derivative in (throughfall + drainage) w.r.t. canopy liquid water
- scalarThroughfallRainDeriv   => deriv_data%var(iLookDERIV%scalarThroughfallRainDeriv  )%dat(1)  ,&  ! intent(out): [dp] derivative in throughfall w.r.t. canopy liquid water
- scalarCanopyLiqDrainageDeriv => deriv_data%var(iLookDERIV%scalarCanopyLiqDrainageDeriv)%dat(1)  ,&  ! intent(out): [dp] derivative in canopy drainage w.r.t. canopy liquid water
-
- ! derivatives in energy fluxes at the interface of snow+soil layers w.r.t. temperature in layers above and below
- dNrgFlux_dTempAbove          => deriv_data%var(iLookDERIV%dNrgFlux_dTempAbove         )%dat     ,&  ! intent(out): [dp(:)] derivatives in the flux w.r.t. temperature in the layer above
- dNrgFlux_dTempBelow          => deriv_data%var(iLookDERIV%dNrgFlux_dTempBelow         )%dat     ,&  ! intent(out): [dp(:)] derivatives in the flux w.r.t. temperature 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
- iLayerLiqFluxSnowDeriv       => deriv_data%var(iLookDERIV%iLayerLiqFluxSnowDeriv      )%dat     ,&  ! intent(out): [dp(:)] derivative in vertical liquid water flux at layer interfaces
-
- ! derivative in liquid water fluxes for the soil domain w.r.t hydrology state variables
- dVolTot_dPsi0                => deriv_data%var(iLookDERIV%dVolTot_dPsi0               )%dat     ,&  ! intent(out): [dp(:)] derivative in total water content w.r.t. total water matric potential
- dq_dHydStateAbove            => deriv_data%var(iLookDERIV%dq_dHydStateAbove           )%dat     ,&  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer above
- dq_dHydStateBelow            => deriv_data%var(iLookDERIV%dq_dHydStateBelow           )%dat     ,&  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer below
- mLayerdTheta_dPsi            => deriv_data%var(iLookDERIV%mLayerdTheta_dPsi           )%dat     ,&  ! intent(out): [dp(:)] derivative in the soil water characteristic w.r.t. psi
- mLayerdPsi_dTheta            => deriv_data%var(iLookDERIV%mLayerdPsi_dTheta           )%dat     ,&  ! intent(out): [dp(:)] derivative in the soil water characteristic w.r.t. theta
- dCompress_dPsi               => deriv_data%var(iLookDERIV%dCompress_dPsi              )%dat     ,&  ! intent(out): [dp(:)] derivative in compressibility w.r.t matric head
-
- ! derivative in baseflow flux w.r.t. aquifer storage
- dBaseflow_dAquifer           => deriv_data%var(iLookDERIV%dBaseflow_dAquifer          )%dat(1)  ,&  ! intent(out): [dp(:)] erivative in baseflow flux w.r.t. aquifer storage (s-1)
-
- ! derivative in liquid water fluxes for the soil domain w.r.t energy state variables
- dq_dNrgStateAbove            => deriv_data%var(iLookDERIV%dq_dNrgStateAbove           )%dat     ,&  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer above
- dq_dNrgStateBelow            => deriv_data%var(iLookDERIV%dq_dNrgStateBelow           )%dat      &  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer below
-
- )  ! association to data in structures
-
- ! *****
- ! * PRELIMINARIES...
- ! ******************
-
- !print*, '***** nSnowSoilNrg, nSnowOnlyNrg, nSoilOnlyNrg, nSnowSoilHyd, nSnowOnlyHyd, nSoilOnlyHyd = ', &
- !               nSnowSoilNrg, nSnowOnlyNrg, nSoilOnlyNrg, nSnowSoilHyd, nSnowOnlyHyd, nSoilOnlyHyd
-
- ! increment the number of flux calls
- numFluxCalls = numFluxCalls+1
-
- ! modify the groundwater representation for this single-column implementation
- select case(ixSpatialGroundwater)
-  case(singleBasin); local_ixGroundwater = noExplicit    ! force no explicit representation of groundwater at the local scale
-  case(localColumn); local_ixGroundwater = ixGroundwater ! go with the specified decision
-  case default; err=20; message=trim(message)//'unable to identify spatial representation of groundwater'; return
- end select ! (modify the groundwater representation for this single-column implementation)
-
- ! initialize liquid water fluxes throughout the snow and soil domains
- ! NOTE: used in the energy routines, which is called before the hydrology routines
- if(firstFluxCall)then
-  if(nSnow > 0) iLayerLiqFluxSnow(0:nSnow) = 0._dp
-                iLayerLiqFluxSoil(0:nSoil) = 0._dp
- end if
-
- ! *****
- ! * CALCULATE ENERGY FLUXES OVER VEGETATION...
- ! *********************************************
-
- ! identify the need to calculate the energy flux over vegetation
- doVegNrgFlux = (ixCasNrg/=integerMissing .or. ixVegNrg/=integerMissing .or. ixTopNrg/=integerMissing)
-
- ! check if there is a need to calculate the energy fluxes over vegetation
- if(doVegNrgFlux)then
-
-  ! derivative in canopy liquid storage w.r.t. canopy temperature
-  dCanLiq_dTcanopy = dTheta_dTkCanopy*iden_water*canopyDepth  ! kg m-2 K-1
+  ! provide access to flux subroutines
+  USE vegNrgFlux_module,only:vegNrgFlux            ! compute energy fluxes over vegetation
+  USE ssdNrgFlux_module,only:ssdNrgFlux            ! compute energy fluxes throughout the snow and soil subdomains
+  USE vegLiqFlux_module,only:vegLiqFlux            ! compute liquid water fluxes through vegetation
+  USE snowLiqFlx_module,only:snowLiqflx            ! compute liquid water fluxes through snow
+  USE soilLiqFlx_module,only:soilLiqflx            ! compute liquid water fluxes through soil
+  USE groundwatr_module,only:groundwatr            ! compute the baseflow flux
+  USE bigAquifer_module,only:bigAquifer            ! compute fluxes for the big aquifer
+  implicit none
+  ! ---------------------------------------------------------------------------------------
+  ! * dummy variables
+  ! ---------------------------------------------------------------------------------------
+  ! input-output: control
+  integer(i4b),intent(in)         :: nSnow                       ! number of snow layers
+  integer(i4b),intent(in)         :: nSoil                       ! number of soil layers
+  integer(i4b),intent(in)         :: nLayers                     ! total number of layers
+  logical(lgt),intent(in)         :: firstSubStep                ! flag to indicate if we are processing the first sub-step
+  logical(lgt),intent(inout)      :: firstFluxCall               ! flag to indicate if we are processing the first flux call
+  logical(lgt),intent(in)         :: firstSplitOper              ! flag to indicate if we are processing the first flux call in a splitting operation
+  logical(lgt),intent(in)         :: computeVegFlux              ! flag to indicate if computing fluxes over vegetation
+  logical(lgt),intent(in)         :: scalarSolution              ! flag to denote if implementing the scalar solution
+  logical(lgt),intent(in)         :: requireLWBal                    ! flag to indicate if we need longwave to be balanced
+  real(dp),intent(in)             :: drainageMeltPond            ! drainage from the surface melt pond (kg m-2 s-1)
+  ! input: state variables
+  real(dp),intent(in)             :: scalarCanairTempTrial       ! trial value for temperature of the canopy air space (K)
+  real(dp),intent(in)             :: scalarCanopyTempTrial       ! trial value for temperature of the vegetation canopy (K)
+  real(dp),intent(in)             :: mLayerTempTrial(:)          ! trial value for temperature of each snow/soil layer (K)
+  real(dp),intent(in)             :: mLayerMatricHeadLiqTrial(:) ! trial value for the liquid water matric potential (m)
+  real(dp),intent(in)             :: mLayerMatricHeadTrial(:)    ! trial value for the total water matric potential (m)
+  real(dp),intent(in)             :: scalarAquiferStorageTrial   ! trial value of aquifer storage (m)
+  ! input: diagnostic variables
+  real(dp),intent(in)             :: scalarCanopyLiqTrial        ! trial value for mass of liquid water on the vegetation canopy (kg m-2)
+  real(dp),intent(in)             :: scalarCanopyIceTrial        ! trial value for mass of ice on the vegetation canopy (kg m-2)
+  real(dp),intent(in)             :: mLayerVolFracLiqTrial(:)    ! trial value for volumetric fraction of liquid water (-)
+  real(dp),intent(in)             :: mLayerVolFracIceTrial(:)    ! trial value for volumetric fraction of ice (-)
+  ! input: data structures
+  type(model_options),intent(in)  :: model_decisions(:)          ! model decisions
+  type(var_i),        intent(in)  :: type_data                   ! type of vegetation and soil
+  type(var_d),        intent(in)  :: attr_data                   ! spatial attributes
+  type(var_dlength),  intent(in)  :: mpar_data                   ! model parameters
+  type(var_d),        intent(in)  :: forc_data                   ! model forcing data
+  type(var_dlength),  intent(in)  :: bvar_data                   ! model variables for the local basin
+  type(var_dlength),  intent(in)  :: prog_data                   ! prognostic variables for a local HRU
+  type(var_ilength),  intent(in)  :: indx_data                   ! indices defining model states and layers
+  ! input-output: data structures
+  type(var_dlength),intent(inout) :: diag_data                   ! diagnostic variables for a local HRU
+  type(var_dlength),intent(inout) :: flux_data                   ! model fluxes for a local HRU
+  type(var_dlength),intent(inout) :: deriv_data                  ! derivatives in model fluxes w.r.t. relevant state variables
+  ! input-output: flux vector and baseflow derivatives
+  integer(i4b),intent(inout)      :: ixSaturation                ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
+  real(dp),intent(out)            :: dBaseflow_dMatric(:,:)      ! derivative in baseflow w.r.t. matric head (s-1)
+  real(dp),intent(out)            :: fluxVec(:)                  ! model flux vector (mixed units)
+  ! output: error control
+  integer(i4b),intent(out)        :: err                         ! error code
+  character(*),intent(out)        :: message                     ! error message
+  ! ---------------------------------------------------------------------------------------
+  ! * local variables
+  ! ---------------------------------------------------------------------------------------
+  integer(i4b)                    :: local_ixGroundwater         ! local index for groundwater representation
+  integer(i4b)                    :: iLayer                      ! index of model layers
+  logical(lgt)                    :: doVegNrgFlux                ! flag to compute the energy flux over vegetation
+  real(dp),dimension(nSoil)       :: dHydCond_dMatric            ! derivative in hydraulic conductivity w.r.t matric head (s-1)
+  character(LEN=256)              :: cmessage                    ! error message of downwind routine
+  ! --------------------------------------------------------------
+  ! initialize error control
+  err=0; message='computFlux/'
+
+  ! *****
+  ! (0) PRELIMINARIES...
+  ! ********************
+
+  ! get the necessary variables for the flux computations
+  associate(&
+
+  ! model decisions
+  ixGroundwater                => model_decisions(iLookDECISIONS%groundwatr)%iDecision            ,& ! intent(in): [i4b]    groundwater parameterization
+  ixSpatialGroundwater         => model_decisions(iLookDECISIONS%spatial_gw)%iDecision            ,& ! intent(in): [i4b]    spatial representation of groundwater (local-column or single-basin)
+
+  ! domain boundary conditions
+  upperBoundTemp               => forc_data%var(iLookFORCE%airtemp)                               ,& ! intent(in): [dp]     temperature of the upper boundary of the snow and soil domains (K)
+  scalarRainfall               => flux_data%var(iLookFLUX%scalarRainfall)%dat(1)                  ,& ! intent(in): [dp]     rainfall rate (kg m-2 s-1)
+
+  ! canopy and layer depth
+  canopyDepth                  => diag_data%var(iLookDIAG%scalarCanopyDepth)%dat(1)               ,& ! intent(in): [dp   ]  canopy depth (m)
+  mLayerDepth                  => prog_data%var(iLookPROG%mLayerDepth)%dat                        ,& ! intent(in): [dp(:)]  depth of each layer in the snow-soil sub-domain (m)
+
+  ! indices of model state variables for the vegetation subdomain
+  ixCasNrg                     => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)                       ,& ! intent(in): [i4b]    index of canopy air space energy state variable
+  ixVegNrg                     => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)                       ,& ! intent(in): [i4b]    index of canopy energy state variable
+  ixVegHyd                     => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)                       ,& ! intent(in): [i4b]    index of canopy hydrology state variable (mass)
+  ixTopNrg                     => indx_data%var(iLookINDEX%ixTopNrg)%dat(1)                       ,& ! intent(in): [i4b]    index of upper-most energy state in the snow+soil subdomain
+  ixTopHyd                     => indx_data%var(iLookINDEX%ixTopHyd)%dat(1)                       ,& ! intent(in): [i4b]    index of upper-most hydrology state in the snow+soil subdomain
+  ixAqWat                      => indx_data%var(iLookINDEX%ixAqWat)%dat(1)                        ,& ! intent(in): [i4b]    index of water storage in the aquifer
+
+  ! indices of model state variables for the snow+soil domain
+  ixSnowSoilNrg                => indx_data%var(iLookINDEX%ixSnowSoilNrg)%dat                     ,& ! intent(in): [i4b(:)] indices for energy states in the snow+soil subdomain
+  ixSnowSoilHyd                => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat                     ,& ! intent(in): [i4b(:)] indices for hydrology states in the snow+soil subdomain
+  layerType                    => indx_data%var(iLookINDEX%layerType)%dat                         ,& ! intent(in): [i4b(:)] type of layer (iname_soil or iname_snow)
+
+  ! number of state variables of a specific type
+  nSnowSoilNrg                 => indx_data%var(iLookINDEX%nSnowSoilNrg )%dat(1)                  ,& ! intent(in): [i4b]    number of energy state variables in the snow+soil domain
+  nSnowOnlyNrg                 => indx_data%var(iLookINDEX%nSnowOnlyNrg )%dat(1)                  ,& ! intent(in): [i4b]    number of energy state variables in the snow domain
+  nSoilOnlyNrg                 => indx_data%var(iLookINDEX%nSoilOnlyNrg )%dat(1)                  ,& ! intent(in): [i4b]    number of energy state variables in the soil domain
+  nSnowSoilHyd                 => indx_data%var(iLookINDEX%nSnowSoilHyd )%dat(1)                  ,& ! intent(in): [i4b]    number of hydrology variables in the snow+soil domain
+  nSnowOnlyHyd                 => indx_data%var(iLookINDEX%nSnowOnlyHyd )%dat(1)                  ,& ! intent(in): [i4b]    number of hydrology variables in the snow domain
+  nSoilOnlyHyd                 => indx_data%var(iLookINDEX%nSoilOnlyHyd )%dat(1)                  ,& ! intent(in): [i4b]    number of hydrology variables in the soil domain
+
+  ! snow parameters
+  snowfrz_scale                => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)                  ,& ! intent(in): [dp] scaling parameter for the snow freezing curve (K-1)
+
+  ! derivatives
+  dPsiLiq_dPsi0                => deriv_data%var(iLookDERIV%dPsiLiq_dPsi0   )%dat                 ,&  ! intent(in):  [dp(:)] derivative in liquid water matric pot w.r.t. the total water matric pot (-)
+  dPsiLiq_dTemp                => deriv_data%var(iLookDERIV%dPsiLiq_dTemp   )%dat                 ,&  ! intent(in):  [dp(:)] derivative in the liquid water matric potential w.r.t. temperature
+  mLayerdTheta_dTk             => deriv_data%var(iLookDERIV%mLayerdTheta_dTk)%dat                 ,&  ! intent(in):  [dp(:)] derivative of volumetric liquid water content w.r.t. temperature
+  dTheta_dTkCanopy             => deriv_data%var(iLookDERIV%dTheta_dTkCanopy)%dat(1)              ,&  ! intent(in):  [dp]    derivative of volumetric liquid water content w.r.t. temperature
+
+  ! number of flux calls
+  numFluxCalls                 => diag_data%var(iLookDIAG%numFluxCalls)%dat(1)                    ,&  ! intent(out): [dp] number of flux calls (-)
+
+  ! net fluxes over the vegetation domain
+  scalarCanairNetNrgFlux       => flux_data%var(iLookFLUX%scalarCanairNetNrgFlux)%dat(1)          ,&  ! intent(out): [dp] net energy flux for the canopy air space        (W m-2)
+  scalarCanopyNetNrgFlux       => flux_data%var(iLookFLUX%scalarCanopyNetNrgFlux)%dat(1)          ,&  ! intent(out): [dp] net energy flux for the vegetation canopy       (W m-2)
+  scalarGroundNetNrgFlux       => flux_data%var(iLookFLUX%scalarGroundNetNrgFlux)%dat(1)          ,&  ! intent(out): [dp] net energy flux for the ground surface          (W m-2)
+  scalarCanopyNetLiqFlux       => flux_data%var(iLookFLUX%scalarCanopyNetLiqFlux)%dat(1)          ,&  ! intent(out): [dp] net liquid water flux for the vegetation canopy (kg m-2 s-1)
+
+  ! net fluxes over the snow+soil domain
+  mLayerNrgFlux                => flux_data%var(iLookFLUX%mLayerNrgFlux)%dat                      ,&  ! intent(out): [dp] net energy flux for each layer within the snow+soil domain (J m-3 s-1)
+  mLayerLiqFluxSnow            => flux_data%var(iLookFLUX%mLayerLiqFluxSnow)%dat                  ,&  ! intent(out): [dp] net liquid water flux for each snow layer (s-1)
+  mLayerLiqFluxSoil            => flux_data%var(iLookFLUX%mLayerLiqFluxSoil)%dat                  ,&  ! intent(out): [dp] net liquid water flux for each soil layer (s-1)
+
+  ! evaporative fluxes
+  scalarCanopyTranspiration    => flux_data%var(iLookFLUX%scalarCanopyTranspiration)%dat(1)       ,&  ! intent(out): [dp]    canopy transpiration (kg m-2 s-1)
+  scalarCanopyEvaporation      => flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1)         ,&  ! intent(out): [dp]    canopy evaporation/condensation (kg m-2 s-1)
+  scalarGroundEvaporation      => flux_data%var(iLookFLUX%scalarGroundEvaporation)%dat(1)         ,&  ! intent(out): [dp]    ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+  mLayerTranspire              => flux_data%var(iLookFLUX%mLayerTranspire)%dat                    ,&  ! intent(out): [dp(:)] transpiration loss from each soil layer (m s-1)
+
+  ! fluxes for the snow+soil domain
+  iLayerNrgFlux                => flux_data%var(iLookFLUX%iLayerNrgFlux)%dat                      ,&  ! intent(out): [dp(0:)] vertical energy flux at the interface of snow and soil layers
+  iLayerLiqFluxSnow            => flux_data%var(iLookFLUX%iLayerLiqFluxSnow)%dat                  ,&  ! intent(out): [dp(0:)] vertical liquid water flux at snow layer interfaces (-)
+  iLayerLiqFluxSoil            => flux_data%var(iLookFLUX%iLayerLiqFluxSoil)%dat                  ,&  ! intent(out): [dp(0:)] vertical liquid water flux at soil layer interfaces (-)
+  mLayerHydCond                => flux_data%var(iLookFLUX%mLayerHydCond)%dat                      ,&  ! intent(out): [dp(:)]  hydraulic conductivity in each soil layer (m s-1)
+  mLayerBaseflow               => flux_data%var(iLookFLUX%mLayerBaseflow)%dat                     ,&  ! intent(out): [dp(:)]  baseflow from each soil layer (m s-1)
+  scalarSnowDrainage           => flux_data%var(iLookFLUX%scalarSnowDrainage)%dat(1)              ,&  ! intent(out): [dp]     drainage from the snow profile (m s-1)
+  scalarSoilDrainage           => flux_data%var(iLookFLUX%scalarSoilDrainage)%dat(1)              ,&  ! intent(out): [dp]     drainage from the soil profile (m s-1)
+  scalarSoilBaseflow           => flux_data%var(iLookFLUX%scalarSoilBaseflow)%dat(1)              ,&  ! intent(out): [dp]     total baseflow from the soil profile (m s-1)
+
+  ! infiltration
+  scalarInfilArea              => diag_data%var(iLookDIAG%scalarInfilArea   )%dat(1)              ,&  ! intent(out): [dp] fraction of unfrozen area where water can infiltrate (-)
+  scalarFrozenArea             => diag_data%var(iLookDIAG%scalarFrozenArea  )%dat(1)              ,&  ! intent(out): [dp] fraction of area that is considered impermeable due to soil ice (-)
+  scalarSoilControl            => diag_data%var(iLookDIAG%scalarSoilControl )%dat(1)              ,&  ! intent(out): [dp] soil control on infiltration, zero or one
+  scalarMaxInfilRate           => flux_data%var(iLookFLUX%scalarMaxInfilRate)%dat(1)              ,&  ! intent(out): [dp] maximum infiltration rate (m s-1)
+  scalarInfiltration           => flux_data%var(iLookFLUX%scalarInfiltration)%dat(1)              ,&  ! intent(out): [dp] infiltration of water into the soil profile (m s-1)
+
+  ! boundary fluxes in the soil domain
+  scalarThroughfallRain        => flux_data%var(iLookFLUX%scalarThroughfallRain)%dat(1)           ,&  ! intent(out): [dp] rain that reaches the ground without ever touching the canopy (kg m-2 s-1)
+  scalarCanopyLiqDrainage      => flux_data%var(iLookFLUX%scalarCanopyLiqDrainage)%dat(1)         ,&  ! intent(out): [dp] drainage of liquid water from the vegetation canopy (kg m-2 s-1)
+  scalarRainPlusMelt           => flux_data%var(iLookFLUX%scalarRainPlusMelt)%dat(1)              ,&  ! intent(out): [dp] rain plus melt (m s-1)
+  scalarSurfaceRunoff          => flux_data%var(iLookFLUX%scalarSurfaceRunoff)%dat(1)             ,&  ! intent(out): [dp] surface runoff (m s-1)
+  scalarExfiltration           => flux_data%var(iLookFLUX%scalarExfiltration)%dat(1)              ,&  ! intent(out): [dp] exfiltration from the soil profile (m s-1)
+  mLayerColumnOutflow          => flux_data%var(iLookFLUX%mLayerColumnOutflow)%dat                ,&  ! intent(out): [dp(:)] column outflow from each soil layer (m3 s-1)
+
+  ! fluxes for the aquifer
+  scalarAquiferTranspire       => flux_data%var(iLookFLUX%scalarAquiferTranspire)%dat(1)          ,&  ! intent(out): [dp] transpiration loss from the aquifer (m s-1
+  scalarAquiferRecharge        => flux_data%var(iLookFLUX%scalarAquiferRecharge)%dat(1)           ,&  ! intent(out): [dp] recharge to the aquifer (m s-1)
+  scalarAquiferBaseflow        => flux_data%var(iLookFLUX%scalarAquiferBaseflow)%dat(1)           ,&  ! intent(out): [dp] total baseflow from the aquifer (m s-1)
+
+  ! total runoff
+  scalarTotalRunoff            => flux_data%var(iLookFLUX%scalarTotalRunoff)%dat(1)               ,&  ! intent(out): [dp] total runoff (m s-1)
+
+  ! derivatives in net vegetation energy fluxes w.r.t. relevant state variables
+  dCanairNetFlux_dCanairTemp   => deriv_data%var(iLookDERIV%dCanairNetFlux_dCanairTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy air space flux w.r.t. canopy air temperature
+  dCanairNetFlux_dCanopyTemp   => deriv_data%var(iLookDERIV%dCanairNetFlux_dCanopyTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy air space flux w.r.t. canopy temperature
+  dCanairNetFlux_dGroundTemp   => deriv_data%var(iLookDERIV%dCanairNetFlux_dGroundTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy air space flux w.r.t. ground temperature
+  dCanopyNetFlux_dCanairTemp   => deriv_data%var(iLookDERIV%dCanopyNetFlux_dCanairTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy flux w.r.t. canopy air temperature
+  dCanopyNetFlux_dCanopyTemp   => deriv_data%var(iLookDERIV%dCanopyNetFlux_dCanopyTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy flux w.r.t. canopy temperature
+  dCanopyNetFlux_dGroundTemp   => deriv_data%var(iLookDERIV%dCanopyNetFlux_dGroundTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy flux w.r.t. ground temperature
+  dCanopyNetFlux_dCanWat       => deriv_data%var(iLookDERIV%dCanopyNetFlux_dCanWat      )%dat(1)  ,&  ! intent(out): [dp] derivative in net canopy fluxes w.r.t. canopy liquid water content
+  dGroundNetFlux_dCanairTemp   => deriv_data%var(iLookDERIV%dGroundNetFlux_dCanairTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground flux w.r.t. canopy air temperature
+  dGroundNetFlux_dCanopyTemp   => deriv_data%var(iLookDERIV%dGroundNetFlux_dCanopyTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground flux w.r.t. canopy temperature
+  dGroundNetFlux_dGroundTemp   => deriv_data%var(iLookDERIV%dGroundNetFlux_dGroundTemp  )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground flux w.r.t. ground temperature
+  dGroundNetFlux_dCanWat       => deriv_data%var(iLookDERIV%dGroundNetFlux_dCanWat      )%dat(1)  ,&  ! intent(out): [dp] derivative in net ground fluxes w.r.t. canopy liquid water content
+
+  ! derivatives in evaporative fluxes w.r.t. relevant state variables
+  dCanopyEvaporation_dTCanair  => deriv_data%var(iLookDERIV%dCanopyEvaporation_dTCanair )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. canopy air temperature
+  dCanopyEvaporation_dTCanopy  => deriv_data%var(iLookDERIV%dCanopyEvaporation_dTCanopy )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. canopy temperature
+  dCanopyEvaporation_dTGround  => deriv_data%var(iLookDERIV%dCanopyEvaporation_dTGround )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. ground temperature
+  dCanopyEvaporation_dCanWat   => deriv_data%var(iLookDERIV%dCanopyEvaporation_dCanWat  )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy evaporation w.r.t. canopy liquid water content
+  dGroundEvaporation_dTCanair  => deriv_data%var(iLookDERIV%dGroundEvaporation_dTCanair )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. canopy air temperature
+  dGroundEvaporation_dTCanopy  => deriv_data%var(iLookDERIV%dGroundEvaporation_dTCanopy )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. canopy temperature
+  dGroundEvaporation_dTGround  => deriv_data%var(iLookDERIV%dGroundEvaporation_dTGround )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. ground temperature
+  dGroundEvaporation_dCanWat   => deriv_data%var(iLookDERIV%dGroundEvaporation_dCanWat  )%dat(1)  ,&  ! intent(out): [dp] derivative in ground evaporation w.r.t. canopy liquid water content
+  
+  ! derivatives in transpiration
+  dCanopyTrans_dTCanair        => deriv_data%var(iLookDERIV%dCanopyTrans_dTCanair       )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+  dCanopyTrans_dTCanopy        => deriv_data%var(iLookDERIV%dCanopyTrans_dTCanopy       )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+  dCanopyTrans_dTGround        => deriv_data%var(iLookDERIV%dCanopyTrans_dTGround       )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+  dCanopyTrans_dCanWat         => deriv_data%var(iLookDERIV%dCanopyTrans_dCanWat        )%dat(1)  ,&  ! intent(out): [dp] derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+
+  ! derivatives in canopy water w.r.t canopy temperature
+  dCanLiq_dTcanopy             => deriv_data%var(iLookDERIV%dCanLiq_dTcanopy            )%dat(1)  ,&  ! intent(out): [dp] derivative of canopy liquid storage w.r.t. temperature
+
+  ! derivatives in canopy liquid fluxes w.r.t. canopy water
+  scalarCanopyLiqDeriv         => deriv_data%var(iLookDERIV%scalarCanopyLiqDeriv        )%dat(1)  ,&  ! intent(out): [dp] derivative in (throughfall + drainage) w.r.t. canopy liquid water
+  scalarThroughfallRainDeriv   => deriv_data%var(iLookDERIV%scalarThroughfallRainDeriv  )%dat(1)  ,&  ! intent(out): [dp] derivative in throughfall w.r.t. canopy liquid water
+  scalarCanopyLiqDrainageDeriv => deriv_data%var(iLookDERIV%scalarCanopyLiqDrainageDeriv)%dat(1)  ,&  ! intent(out): [dp] derivative in canopy drainage w.r.t. canopy liquid water
+
+  ! derivatives in energy fluxes at the interface of snow+soil layers w.r.t. temperature in layers above and below
+  dNrgFlux_dTempAbove          => deriv_data%var(iLookDERIV%dNrgFlux_dTempAbove         )%dat     ,&  ! intent(out): [dp(:)] derivatives in the flux w.r.t. temperature in the layer above
+  dNrgFlux_dTempBelow          => deriv_data%var(iLookDERIV%dNrgFlux_dTempBelow         )%dat     ,&  ! intent(out): [dp(:)] derivatives in the flux w.r.t. temperature 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
+  iLayerLiqFluxSnowDeriv       => deriv_data%var(iLookDERIV%iLayerLiqFluxSnowDeriv      )%dat     ,&  ! intent(out): [dp(:)] derivative in vertical liquid water flux at layer interfaces
+
+  ! derivative in liquid water fluxes for the soil domain w.r.t hydrology state variables
+  dVolTot_dPsi0                => deriv_data%var(iLookDERIV%dVolTot_dPsi0               )%dat     ,&  ! intent(out): [dp(:)] derivative in total water content w.r.t. total water matric potential
+  dq_dHydStateAbove            => deriv_data%var(iLookDERIV%dq_dHydStateAbove           )%dat     ,&  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer above
+  dq_dHydStateBelow            => deriv_data%var(iLookDERIV%dq_dHydStateBelow           )%dat     ,&  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer below
+  mLayerdTheta_dPsi            => deriv_data%var(iLookDERIV%mLayerdTheta_dPsi           )%dat     ,&  ! intent(out): [dp(:)] derivative in the soil water characteristic w.r.t. psi
+  mLayerdPsi_dTheta            => deriv_data%var(iLookDERIV%mLayerdPsi_dTheta           )%dat     ,&  ! intent(out): [dp(:)] derivative in the soil water characteristic w.r.t. theta
+  dCompress_dPsi               => deriv_data%var(iLookDERIV%dCompress_dPsi              )%dat     ,&  ! intent(out): [dp(:)] derivative in compressibility w.r.t matric head
+
+  ! derivative in baseflow flux w.r.t. aquifer storage
+  dBaseflow_dAquifer           => deriv_data%var(iLookDERIV%dBaseflow_dAquifer          )%dat(1)  ,&  ! intent(out): [dp(:)] erivative in baseflow flux w.r.t. aquifer storage (s-1)
+
+  ! derivative in liquid water fluxes for the soil domain w.r.t energy state variables
+  dq_dNrgStateAbove            => deriv_data%var(iLookDERIV%dq_dNrgStateAbove           )%dat     ,&  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer above
+  dq_dNrgStateBelow            => deriv_data%var(iLookDERIV%dq_dNrgStateBelow           )%dat      &  ! intent(out): [dp(:)] change in flux at layer interfaces w.r.t. states in the layer below
+
+  )  ! association to data in structures
+
+  ! *****
+  ! * PRELIMINARIES...
+  ! ******************
+
+  !print*, '***** nSnowSoilNrg, nSnowOnlyNrg, nSoilOnlyNrg, nSnowSoilHyd, nSnowOnlyHyd, nSoilOnlyHyd = ', &
+  !               nSnowSoilNrg, nSnowOnlyNrg, nSoilOnlyNrg, nSnowSoilHyd, nSnowOnlyHyd, nSoilOnlyHyd
+
+  ! increment the number of flux calls
+  numFluxCalls = numFluxCalls+1
+
+  ! modify the groundwater representation for this single-column implementation
+  select case(ixSpatialGroundwater)
+    case(singleBasin); local_ixGroundwater = noExplicit    ! force no explicit representation of groundwater at the local scale
+    case(localColumn); local_ixGroundwater = ixGroundwater ! go with the specified decision
+    case default; err=20; message=trim(message)//'unable to identify spatial representation of groundwater'; return
+  end select ! (modify the groundwater representation for this single-column implementation)
+
+  ! initialize liquid water fluxes throughout the snow and soil domains
+  ! NOTE: used in the energy routines, which is called before the hydrology routines
+  if(firstFluxCall)then
+    if(nSnow > 0) iLayerLiqFluxSnow(0:nSnow) = 0._dp
+                  iLayerLiqFluxSoil(0:nSoil) = 0._dp
+  end if
 
-  ! calculate the energy fluxes over vegetation
-  call vegNrgFlux(&
-                  ! input: model control
-                  firstSubStep,                           & ! intent(in): flag to indicate if we are processing the first sub-step
-                  firstFluxCall,                          & ! intent(in): flag to indicate if we are processing the first flux call
-                  computeVegFlux,                         & ! intent(in): flag to indicate if we need to compute fluxes over vegetation
-                  ! input: model state variables
-                  upperBoundTemp,                         & ! intent(in): temperature of the upper boundary (K) --> NOTE: use air temperature
-                  scalarCanairTempTrial,                  & ! intent(in): trial value of the canopy air space temperature (K)
-                  scalarCanopyTempTrial,                  & ! intent(in): trial value of canopy temperature (K)
-                  mLayerTempTrial(1),                     & ! intent(in): trial value of ground temperature (K)
-                  scalarCanopyIceTrial,                   & ! intent(in): trial value of mass of ice on the vegetation canopy (kg m-2)
-                  scalarCanopyLiqTrial,                   & ! intent(in): trial value of mass of liquid water on the vegetation canopy (kg m-2)
-                  ! input: model derivatives
-                  dCanLiq_dTcanopy,                       & ! intent(in): derivative in canopy liquid storage w.r.t. canopy temperature (kg m-2 K-1)
-                  ! input/output: data structures
-                  type_data,                              & ! intent(in):    type of vegetation and soil
-                  forc_data,                              & ! intent(in):    model forcing data
-                  mpar_data,                              & ! intent(in):    model parameters
-                  indx_data,                              & ! intent(in):    index data
-                  prog_data,                              & ! intent(in):    model prognostic variables for a local HRU
-                  diag_data,                              & ! intent(inout): model diagnostic variables for a local HRU
-                  flux_data,                              & ! intent(inout): model fluxes for a local HRU
-                  bvar_data,                              & ! intent(in):    model variables for the local basin
-                  model_decisions,                        & ! intent(in):    model decisions
-                  ! output: liquid water fluxes associated with evaporation/transpiration
-                  scalarCanopyTranspiration,              & ! intent(out): canopy transpiration (kg m-2 s-1)
-                  scalarCanopyEvaporation,                & ! intent(out): canopy evaporation/condensation (kg m-2 s-1)
-                  scalarGroundEvaporation,                & ! intent(out): ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
-                  ! output: fluxes
-                  scalarCanairNetNrgFlux,                 & ! intent(out): net energy flux for the canopy air space (W m-2)
-                  scalarCanopyNetNrgFlux,                 & ! intent(out): net energy flux for the vegetation canopy (W m-2)
-                  scalarGroundNetNrgFlux,                 & ! intent(out): net energy flux for the ground surface (W m-2)
-                  ! output: flux derivatives
-                  dCanairNetFlux_dCanairTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
-                  dCanairNetFlux_dCanopyTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
-                  dCanairNetFlux_dGroundTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
-                  dCanopyNetFlux_dCanairTemp,             & ! intent(out): derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
-                  dCanopyNetFlux_dCanopyTemp,             & ! intent(out): derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
-                  dCanopyNetFlux_dGroundTemp,             & ! intent(out): derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
-                  dGroundNetFlux_dCanairTemp,             & ! intent(out): derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
-                  dGroundNetFlux_dCanopyTemp,             & ! intent(out): derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
-                  dGroundNetFlux_dGroundTemp,             & ! intent(out): derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
-                  ! output: liquid water flux derivarives (canopy evap)
-                  dCanopyEvaporation_dCanWat,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
-                  dCanopyEvaporation_dTCanair,            & ! intent(out): derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
-                  dCanopyEvaporation_dTCanopy,            & ! intent(out): derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
-                  dCanopyEvaporation_dTGround,            & ! intent(out): derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-                  ! output: liquid water flux derivarives (ground evap)
-                  dGroundEvaporation_dCanWat,             & ! intent(out): derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
-                  dGroundEvaporation_dTCanair,            & ! intent(out): derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
-                  dGroundEvaporation_dTCanopy,            & ! intent(out): derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
-                  dGroundEvaporation_dTGround,            & ! intent(out): derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-                  ! output: cross derivative terms
-                  dCanopyNetFlux_dCanWat,                 & ! intent(out): derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                  dGroundNetFlux_dCanWat,                 & ! intent(out): derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                  ! output: error control
-                  err,cmessage)                             ! intent(out): error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
+  ! *****
+  ! * CALCULATE ENERGY FLUXES OVER VEGETATION...
+  ! *********************************************
+
+  ! identify the need to calculate the energy flux over vegetation
+  doVegNrgFlux = (ixCasNrg/=integerMissing .or. ixVegNrg/=integerMissing .or. ixTopNrg/=integerMissing)
+
+  ! check if there is a need to calculate the energy fluxes over vegetation
+  if(doVegNrgFlux)then
+
+    ! derivative in canopy liquid storage w.r.t. canopy temperature
+    dCanLiq_dTcanopy = dTheta_dTkCanopy*iden_water*canopyDepth  ! kg m-2 K-1
+    ! calculate the energy fluxes over vegetation
+    call vegNrgFlux(&
+          ! input: model control
+          firstSubStep,                           & ! intent(in): flag to indicate if we are processing the first sub-step
+          firstFluxCall,                          & ! intent(in): flag to indicate if we are processing the first flux call
+          computeVegFlux,                         & ! intent(in): flag to indicate if we need to compute fluxes over vegetation
+          requireLWBal,                           & ! intent(in): flag to indicate if we need longwave to be balanced
+          ! input: model state variables
+          upperBoundTemp,                         & ! intent(in): temperature of the upper boundary (K) --> NOTE: use air temperature
+          scalarCanairTempTrial,                  & ! intent(in): trial value of the canopy air space temperature (K)
+          scalarCanopyTempTrial,                  & ! intent(in): trial value of canopy temperature (K)
+          mLayerTempTrial(1),                     & ! intent(in): trial value of ground temperature (K)
+          scalarCanopyIceTrial,                   & ! intent(in): trial value of mass of ice on the vegetation canopy (kg m-2)
+          scalarCanopyLiqTrial,                   & ! intent(in): trial value of mass of liquid water on the vegetation canopy (kg m-2)
+          ! input: model derivatives
+          dCanLiq_dTcanopy,                       & ! intent(in): derivative in canopy liquid storage w.r.t. canopy temperature (kg m-2 K-1)
+          ! input/output: data structures
+          type_data,                              & ! intent(in):    type of vegetation and soil
+          forc_data,                              & ! intent(in):    model forcing data
+          mpar_data,                              & ! intent(in):    model parameters
+          indx_data,                              & ! intent(in):    index data
+          prog_data,                              & ! intent(in):    model prognostic variables for a local HRU
+          diag_data,                              & ! intent(inout): model diagnostic variables for a local HRU
+          flux_data,                              & ! intent(inout): model fluxes for a local HRU
+          bvar_data,                              & ! intent(in):    model variables for the local basin
+          model_decisions,                        & ! intent(in):    model decisions
+          ! output: liquid water fluxes associated with evaporation/transpiration
+          scalarCanopyTranspiration,              & ! intent(out): canopy transpiration (kg m-2 s-1)
+          scalarCanopyEvaporation,                & ! intent(out): canopy evaporation/condensation (kg m-2 s-1)
+          scalarGroundEvaporation,                & ! intent(out): ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+          ! output: fluxes
+          scalarCanairNetNrgFlux,                 & ! intent(out): net energy flux for the canopy air space (W m-2)
+          scalarCanopyNetNrgFlux,                 & ! intent(out): net energy flux for the vegetation canopy (W m-2)
+          scalarGroundNetNrgFlux,                 & ! intent(out): net energy flux for the ground surface (W m-2)
+          ! output: flux derivatives
+          dCanairNetFlux_dCanairTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+          dCanairNetFlux_dCanopyTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+          dCanairNetFlux_dGroundTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+          dCanopyNetFlux_dCanairTemp,             & ! intent(out): derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+          dCanopyNetFlux_dCanopyTemp,             & ! intent(out): derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+          dCanopyNetFlux_dGroundTemp,             & ! intent(out): derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+          dGroundNetFlux_dCanairTemp,             & ! intent(out): derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+          dGroundNetFlux_dCanopyTemp,             & ! intent(out): derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+          dGroundNetFlux_dGroundTemp,             & ! intent(out): derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+          ! output: liquid water flux derivatives (canopy evap)
+          dCanopyEvaporation_dCanWat,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy total water content (s-1)
+          dCanopyEvaporation_dTCanair,            & ! intent(out): derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+          dCanopyEvaporation_dTCanopy,            & ! intent(out): derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+          dCanopyEvaporation_dTGround,            & ! intent(out): derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+          ! output: liquid water flux derivatives (ground evap)
+          dGroundEvaporation_dCanWat,             & ! intent(out): derivative in ground evaporation w.r.t. canopy total water content (s-1)
+          dGroundEvaporation_dTCanair,            & ! intent(out): derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+          dGroundEvaporation_dTCanopy,            & ! intent(out): derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+          dGroundEvaporation_dTGround,            & ! intent(out): derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+          ! output: transpiration derivatives
+          dCanopyTrans_dCanWat,                   & ! intent(out): derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+          dCanopyTrans_dTCanair,                  & ! intent(out): derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+          dCanopyTrans_dTCanopy,                  & ! intent(out): derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+          dCanopyTrans_dTGround,                  & ! intent(out): derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+          ! output: cross derivative terms
+          dCanopyNetFlux_dCanWat,                 & ! intent(out): derivative in net canopy fluxes w.r.t. canopy total water content (J kg-1 s-1)
+          dGroundNetFlux_dCanWat,                 & ! intent(out): derivative in net ground fluxes w.r.t. canopy total water content (J kg-1 s-1)
+          ! output: error control
+          err,cmessage)                             ! intent(out): error control
+
+    ! ! calculate the energy fluxes over vegetation
+    ! call vegNrgFlux(&
+    !                 ! input: model control
+    !                 firstSubStep,                           & ! intent(in): flag to indicate if we are processing the first sub-step
+    !                 firstFluxCall,                          & ! intent(in): flag to indicate if we are processing the first flux call
+    !                 computeVegFlux,                         & ! intent(in): flag to indicate if we need to compute fluxes over vegetation
+    !                 requireLWBal,                           & ! intent(in): flag to indicate if we need longwave to be balanced
+    !                 ! input: model state variables
+    !                 upperBoundTemp,                         & ! intent(in): temperature of the upper boundary (K) --> NOTE: use air temperature
+    !                 scalarCanairTempTrial,                  & ! intent(in): trial value of the canopy air space temperature (K)
+    !                 scalarCanopyTempTrial,                  & ! intent(in): trial value of canopy temperature (K)
+    !                 mLayerTempTrial(1),                     & ! intent(in): trial value of ground temperature (K)
+    !                 scalarCanopyIceTrial,                   & ! intent(in): trial value of mass of ice on the vegetation canopy (kg m-2)
+    !                 scalarCanopyLiqTrial,                   & ! intent(in): trial value of mass of liquid water on the vegetation canopy (kg m-2)
+    !                 ! input: model derivatives
+    !                 dCanLiq_dTcanopy,                       & ! intent(in): derivative in canopy liquid storage w.r.t. canopy temperature (kg m-2 K-1)
+    !                 ! input/output: data structures
+    !                 type_data,                              & ! intent(in):    type of vegetation and soil
+    !                 forc_data,                              & ! intent(in):    model forcing data
+    !                 mpar_data,                              & ! intent(in):    model parameters
+    !                 indx_data,                              & ! intent(in):    index data
+    !                 prog_data,                              & ! intent(in):    model prognostic variables for a local HRU
+    !                 diag_data,                              & ! intent(inout): model diagnostic variables for a local HRU
+    !                 flux_data,                              & ! intent(inout): model fluxes for a local HRU
+    !                 bvar_data,                              & ! intent(in):    model variables for the local basin
+    !                 model_decisions,                        & ! intent(in):    model decisions
+    !                 ! output: liquid water fluxes associated with evaporation/transpiration
+    !                 scalarCanopyTranspiration,              & ! intent(out): canopy transpiration (kg m-2 s-1)
+    !                 scalarCanopyEvaporation,                & ! intent(out): canopy evaporation/condensation (kg m-2 s-1)
+    !                 scalarGroundEvaporation,                & ! intent(out): ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+    !                 ! output: fluxes
+    !                 scalarCanairNetNrgFlux,                 & ! intent(out): net energy flux for the canopy air space (W m-2)
+    !                 scalarCanopyNetNrgFlux,                 & ! intent(out): net energy flux for the vegetation canopy (W m-2)
+    !                 scalarGroundNetNrgFlux,                 & ! intent(out): net energy flux for the ground surface (W m-2)
+    !                 ! output: flux derivatives
+    !                 dCanairNetFlux_dCanairTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+    !                 dCanairNetFlux_dCanopyTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+    !                 dCanairNetFlux_dGroundTemp,             & ! intent(out): derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+    !                 dCanopyNetFlux_dCanairTemp,             & ! intent(out): derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+    !                 dCanopyNetFlux_dCanopyTemp,             & ! intent(out): derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+    !                 dCanopyNetFlux_dGroundTemp,             & ! intent(out): derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+    !                 dGroundNetFlux_dCanairTemp,             & ! intent(out): derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+    !                 dGroundNetFlux_dCanopyTemp,             & ! intent(out): derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+    !                 dGroundNetFlux_dGroundTemp,             & ! intent(out): derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+    !                 ! output: liquid water flux derivarives (canopy evap)
+    !                 dCanopyEvaporation_dCanWat,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
+    !                 dCanopyEvaporation_dTCanair,            & ! intent(out): derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+    !                 dCanopyEvaporation_dTCanopy,            & ! intent(out): derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+    !                 dCanopyEvaporation_dTGround,            & ! intent(out): derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    !                 ! output: liquid water flux derivarives (ground evap)
+    !                 dGroundEvaporation_dCanWat,             & ! intent(out): derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
+    !                 dGroundEvaporation_dTCanair,            & ! intent(out): derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+    !                 dGroundEvaporation_dTCanopy,            & ! intent(out): derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+    !                 dGroundEvaporation_dTGround,            & ! intent(out): derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    !                 ! output: cross derivative terms
+    !                 dCanopyNetFlux_dCanWat,                 & ! intent(out): derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+    !                 dGroundNetFlux_dCanWat,                 & ! intent(out): derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+    !                 ! output: error control
+    !                 err,cmessage)                             ! intent(out): error control
+    ! if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
 
   ! check fluxes
   if(globalPrintFlag)then
diff --git a/build/source/engine/coupled_em.f90 b/build/source/engine/coupled_em.f90
index 2b01f52..d7dd3d7 100755
--- a/build/source/engine/coupled_em.f90
+++ b/build/source/engine/coupled_em.f90
@@ -964,19 +964,19 @@ subroutine coupled_em(&
     !********** SUNDIALS ADDITION *****************
     if (sundials) then
       call computSnowDepth(&
-                      dt_sub,					    							            & ! intent(in)
-                      nSnow,													              & ! intent(in)
-                      scalarSnowSublimation,									      & ! intent(in)
-                      mLayerVolFracLiq, 			  							      & ! intent(inout)
-                      mLayerVolFracIce,										          & ! intent(inout)
-                      prog_data%var(iLookPROG%mLayerTemp)%dat,			& ! intent(in)
+                      dt_sub,                                       & ! intent(in)
+                      nSnow,                                        & ! intent(in)
+                      scalarSnowSublimation,                        & ! intent(in)
+                      mLayerVolFracLiq,                             & ! intent(inout)
+                      mLayerVolFracIce,                             & ! intent(inout)
+                      prog_data%var(iLookPROG%mLayerTemp)%dat,      & ! intent(in)
                       diag_data%var(iLookDIAG%mLayerMeltFreeze)%dat,& ! intent(in)
-                      mpar_data,												            & ! intent(in)
+                      mpar_data,                                    & ! intent(in)
                       ! output
                       tooMuchSublim,                                & ! intent(out): flag to denote that there was too much sublimation in a given time step
-                      mLayerDepth,											            & ! intent(inout)
+                      mLayerDepth,                                  & ! intent(inout)
                       ! error control
-                      err,message)         				  					        ! intent(out):   error control
+                      err,message)                                    ! intent(out):   error control
       if(err/=0)then
         err=55
         print*, "computSnowDepth", message
diff --git a/build/source/engine/eval8summa.f90 b/build/source/engine/eval8summa.f90
index 8c13c23..60f52dd 100755
--- a/build/source/engine/eval8summa.f90
+++ b/build/source/engine/eval8summa.f90
@@ -101,10 +101,10 @@ public::eval8summa
 
 contains
 
- ! **********************************************************************************************************
- ! public subroutine eval8summa: compute the residual vector and the Jacobian matrix
- ! **********************************************************************************************************
- subroutine eval8summa(&
+! **********************************************************************************************************
+! public subroutine eval8summa: compute the residual vector and the Jacobian matrix
+! **********************************************************************************************************
+subroutine eval8summa(&
                        ! input: model control
                        dt,                      & ! intent(in):    length of the time step (seconds)
                        nSnow,                   & ! intent(in):    number of snow layers
@@ -144,227 +144,237 @@ contains
                        resVec,                  & ! intent(out):   residual vector
                        fEval,                   & ! intent(out):   function evaluation
                        err,message)               ! intent(out):   error control
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! provide access to subroutines
- USE getVectorz_module, only:varExtract           ! extract variables from the state vector
- USE updateVars_module, only:updateVars           ! update prognostic variables
- USE computFlux_module, only:soilCmpres           ! compute soil compression
- USE computFlux_module, only:computFlux           ! compute fluxes given a state vector
- USE computResid_module,only:computResid          ! compute residuals given a state vector
- implicit none
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! input: model control
- real(dp),intent(in)             :: dt                     ! length of the time step (seconds)
- integer(i4b),intent(in)         :: nSnow                  ! number of snow layers
- integer(i4b),intent(in)         :: nSoil                  ! number of soil layers
- integer(i4b),intent(in)         :: nLayers                ! total number of layers
- integer(i4b),intent(in)         :: nState                 ! total number of state variables
- logical(lgt),intent(in)         :: firstSubStep           ! flag to indicate if we are processing the first sub-step
- logical(lgt),intent(inout)      :: firstFluxCall          ! flag to indicate if we are processing the first flux call
- logical(lgt),intent(in)         :: firstSplitOper         ! flag to indicate if we are processing the first flux call in a splitting operation
- logical(lgt),intent(in)         :: computeVegFlux         ! flag to indicate if computing fluxes over vegetation
- logical(lgt),intent(in)         :: scalarSolution         ! flag to denote if implementing the scalar solution
- ! input: state vectors
- real(dp),intent(in)             :: stateVecTrial(:)       ! model state vector
- real(dp),intent(in)             :: fScale(:)              ! function scaling vector
- real(qp),intent(in)             :: sMul(:)   ! NOTE: qp   ! state vector multiplier (used in the residual calculations)
- ! input: data structures
- type(model_options),intent(in)  :: model_decisions(:)     ! model decisions
- type(zLookup),      intent(in)  :: lookup_data            ! lookup tables
- type(var_i),        intent(in)  :: type_data              ! type of vegetation and soil
- type(var_d),        intent(in)  :: attr_data              ! spatial attributes
- type(var_dlength),  intent(in)  :: mpar_data              ! model parameters
- type(var_d),        intent(in)  :: forc_data              ! model forcing data
- type(var_dlength),  intent(in)  :: bvar_data              ! model variables for the local basin
- type(var_dlength),  intent(in)  :: prog_data              ! prognostic variables for a local HRU
- ! output: data structures
- type(var_ilength),intent(inout) :: indx_data              ! indices defining model states and layers
- type(var_dlength),intent(inout) :: diag_data              ! diagnostic variables for a local HRU
- type(var_dlength),intent(inout) :: flux_data              ! model fluxes for a local HRU
- type(var_dlength),intent(inout) :: deriv_data             ! derivatives in model fluxes w.r.t. relevant state variables
- ! input-output: baseflow
- integer(i4b),intent(inout)      :: ixSaturation           ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
- real(dp),intent(out)            :: dBaseflow_dMatric(:,:) ! derivative in baseflow w.r.t. matric head (s-1)
- ! output: flux and residual vectors
- logical(lgt),intent(out)        :: feasible               ! flag to denote the feasibility of the solution
- real(dp),intent(out)            :: fluxVec(:)             ! flux vector
- real(dp),intent(out)            :: resSink(:)             ! sink terms on the RHS of the flux equation
- real(qp),intent(out)            :: resVec(:) ! NOTE: qp   ! residual vector
- real(dp),intent(out)            :: fEval                  ! function evaluation
- ! output: error control
- integer(i4b),intent(out)        :: err                    ! error code
- character(*),intent(out)        :: message                ! error message
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! local variables
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! state variables
- real(dp)                        :: scalarCanairTempTrial     ! trial value for temperature of the canopy air space (K)
- real(dp)                        :: scalarCanopyTempTrial     ! trial value for temperature of the vegetation canopy (K)
- real(dp)                        :: scalarCanopyWatTrial      ! trial value for liquid water storage in the canopy (kg m-2)
- real(dp),dimension(nLayers)     :: mLayerTempTrial           ! trial value for temperature of layers in the snow and soil domains (K)
- real(dp),dimension(nLayers)     :: mLayerVolFracWatTrial     ! trial value for volumetric fraction of total water (-)
- real(dp),dimension(nSoil)       :: mLayerMatricHeadTrial     ! trial value for total water matric potential (m)
- real(dp),dimension(nSoil)       :: mLayerMatricHeadLiqTrial  ! trial value for liquid water matric potential (m)
- real(dp)                        :: scalarAquiferStorageTrial ! trial value of storage of water in the aquifer (m)
- ! diagnostic variables
- real(dp)                        :: scalarCanopyLiqTrial      ! trial value for mass of liquid water on the vegetation canopy (kg m-2)
- real(dp)                        :: scalarCanopyIceTrial      ! trial value for mass of ice on the vegetation canopy (kg m-2)
- real(dp),dimension(nLayers)     :: mLayerVolFracLiqTrial     ! trial value for volumetric fraction of liquid water (-)
- real(dp),dimension(nLayers)     :: mLayerVolFracIceTrial     ! trial value for volumetric fraction of ice (-)
- ! other local variables
- integer(i4b)                    :: iLayer                    ! index of model layer in the snow+soil domain
- integer(i4b)                    :: jState(1)                 ! index of model state for the scalar solution within the soil domain
- integer(i4b)                    :: ixBeg,ixEnd               ! index of indices for the soil compression routine
- integer(i4b),parameter          :: ixVegVolume=1             ! index of the desired vegetation control volumne (currently only one veg layer)
- real(dp)                        :: xMin,xMax                 ! minimum and maximum values for water content
- real(dp)                        :: scalarCanopyHydTrial      ! trial value for mass of water on the vegetation canopy (kg m-2)
- real(dp),parameter              :: canopyTempMax=500._dp     ! expected maximum value for the canopy temperature (K)
- real(dp),dimension(nLayers)     :: mLayerVolFracHydTrial     ! trial value for volumetric fraction of water (-), general vector merged from Wat and Liq
- real(dp),dimension(nState)      :: rVecScaled                ! scaled residual vector
- character(LEN=256)              :: cmessage                  ! error message of downwind routine
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! association to variables in the data structures
- ! --------------------------------------------------------------------------------------------------------------------------------
- associate(&
- ! model decisions
- ixRichards              => model_decisions(iLookDECISIONS%f_Richards)%iDecision   ,&  ! intent(in):  [i4b]   index of the form of Richards' equation
- ! snow parameters
- snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)         ,&  ! intent(in):  [dp]    scaling parameter for the snow freezing curve (K-1)
- ! soil parameters
- theta_sat               => mpar_data%var(iLookPARAM%theta_sat)%dat                ,&  ! intent(in):  [dp(:)] soil porosity (-)
- specificStorage         => mpar_data%var(iLookPARAM%specificStorage)%dat(1)       ,&  ! intent(in):  [dp]    specific storage coefficient (m-1)
- ! canopy and layer depth
- canopyDepth             => diag_data%var(iLookDIAG%scalarCanopyDepth)%dat(1)      ,&  ! intent(in):  [dp   ] canopy depth (m)
- mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,&  ! intent(in):  [dp(:)] depth of each layer in the snow-soil sub-domain (m)
- ! model state variables
- scalarSfcMeltPond       => prog_data%var(iLookPROG%scalarSfcMeltPond)%dat(1)      ,&  ! intent(in):  [dp]    ponded water caused by melt of the "snow without a layer" (kg m-2)
- mLayerVolFracLiq        => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat          ,&  ! intent(in):  [dp(:)] volumetric fraction of liquid water (-)
- mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,&  ! intent(in):  [dp(:)] volumetric fraction of ice (-)
- mLayerMatricHeadLiq     => diag_data%var(iLookDIAG%mLayerMatricHeadLiq)%dat       ,&  ! intent(in):  [dp(:)] liquid water matric potential (m)
- ! model diagnostic variables
- scalarFracLiqVeg        => diag_data%var(iLookDIAG%scalarFracLiqVeg)%dat(1)       ,&  ! intent(in):  [dp]    fraction of liquid water on vegetation (-)
- mLayerFracLiqSnow       => diag_data%var(iLookDIAG%mLayerFracLiqSnow)%dat         ,&  ! intent(in):  [dp(:)] fraction of liquid water in each snow layer (-)
- ! soil compression
- scalarSoilCompress      => diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1)     ,&  ! intent(in): [dp]    total change in storage associated with compression of the soil matrix (kg m-2)
- mLayerCompress          => diag_data%var(iLookDIAG%mLayerCompress)%dat            ,&  ! intent(in): [dp(:)] change in storage associated with compression of the soil matrix (-)
- ! derivatives
- dVolTot_dPsi0           => deriv_data%var(iLookDERIV%dVolTot_dPsi0)%dat           ,&  ! intent(in): [dp(:)] derivative in total water content w.r.t. total water matric potential
- dCompress_dPsi          => deriv_data%var(iLookDERIV%dCompress_dPsi)%dat          ,&  ! intent(in): [dp(:)] derivative in compressibility w.r.t. matric head (m-1)
- ! mapping
- ixMapFull2Subset        => indx_data%var(iLookINDEX%ixMapFull2Subset)%dat         ,&  ! intent(in): [i4b(:)] mapping of full state vector to the state subset
- ixControlVolume         => indx_data%var(iLookINDEX%ixControlVolume)%dat          ,&  ! intent(in): [i4b(:)] index of control volume for different domains (veg, snow, soil)
- ! indices
- ixCasNrg                => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy air space energy state variable (nrg)
- ixVegNrg                => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy energy state variable (nrg)
- ixVegHyd                => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy hydrology state variable (mass)
- ixSnowOnlyNrg           => indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat            ,&  ! intent(in): [i4b(:)] indices for energy states in the snow subdomain
- ixSnowSoilHyd           => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat            ,&  ! intent(in): [i4b(:)] indices for hydrology states in the snow+soil subdomain
- ixStateType             => indx_data%var(iLookINDEX%ixStateType)%dat              ,&  ! intent(in): [i4b(:)] indices defining the type of the state (iname_nrgLayer...)
- ixHydCanopy             => indx_data%var(iLookINDEX%ixHydCanopy)%dat              ,&  ! intent(in): [i4b(:)] index of the hydrology states in the canopy domain
- ixHydType               => indx_data%var(iLookINDEX%ixHydType)%dat                ,&  ! intent(in): [i4b(:)] index of the type of hydrology states in snow+soil domain
- layerType               => indx_data%var(iLookINDEX%layerType)%dat                 &  ! intent(in): [i4b(:)] layer type (iname_soil or iname_snow)
- ) ! association to variables in the data structures
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message="eval8summa/"
-
- ! check the feasibility of the solution
- feasible=.true.
-
- ! check that the canopy air space temperature is reasonable
- if(ixCasNrg/=integerMissing)then
-  if(stateVecTrial(ixCasNrg) > canopyTempMax) feasible=.false.
- endif
-
- ! check that the canopy air space temperature is reasonable
- if(ixVegNrg/=integerMissing)then
-  if(stateVecTrial(ixVegNrg) > canopyTempMax) feasible=.false.
- endif
-
- ! check canopy liquid water is not negative
- if(ixVegHyd/=integerMissing)then
-  if(stateVecTrial(ixVegHyd) < 0._dp) feasible=.false.
- end if
-
- ! check snow temperature is below freezing
- if(count(ixSnowOnlyNrg/=integerMissing)>0)then
-  if(any(stateVecTrial( pack(ixSnowOnlyNrg,ixSnowOnlyNrg/=integerMissing) ) > Tfreeze)) feasible=.false.
- endif
-
- ! loop through non-missing hydrology state variables in the snow+soil domain
- do concurrent (iLayer=1:nLayers,ixSnowSoilHyd(iLayer)/=integerMissing)
-
-  ! check the minimum and maximum water constraints
-  if(ixHydType(iLayer)==iname_watLayer .or. ixHydType(iLayer)==iname_liqLayer)then
-
-   ! --> minimum
-   if (layerType(iLayer) == iname_soil) then
-    xMin = theta_sat(iLayer-nSnow)
-   else
-    xMin = 0._dp
-   endif
-
-   ! --> maximum
-   select case( layerType(iLayer) )
-    case(iname_snow); xMax = merge(iden_ice,  1._dp - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
-    case(iname_soil); xMax = merge(theta_sat(iLayer-nSnow), theta_sat(iLayer-nSnow) - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
-   end select
-
-   ! --> check
-   if(stateVecTrial( ixSnowSoilHyd(iLayer) ) < xMin .or. stateVecTrial( ixSnowSoilHyd(iLayer) ) > xMax) feasible=.false.
-   !if(.not.feasible) write(*,'(a,1x,i4,1x,L1,1x,10(f20.10,1x))') 'iLayer, feasible, stateVecTrial( ixSnowSoilHyd(iLayer) ), xMin, xMax = ', iLayer, feasible, stateVecTrial( ixSnowSoilHyd(iLayer) ), xMin, xMax
-
-  endif  ! if water states
-
- end do  ! loop through non-missing hydrology state variables in the snow+soil domain
-
- ! early return for non-feasible solutions
- if(.not.feasible)then
-  fluxVec(:) = realMissing
-  resVec(:)  = quadMissing
-  fEval      = realMissing
-  return
- end if
-
- ! get the start and end indices for the soil compression calculations
- if(scalarSolution)then
-  jState = pack(ixControlVolume, ixMapFull2Subset/=integerMissing)
-  ixBeg  = jState(1)
-  ixEnd  = jState(1)
- else
-  ixBeg  = 1
-  ixEnd  = nSoil
- endif
-
- ! extract variables from the model state vector
- call varExtract(&
-                 ! input
-                 stateVecTrial,            & ! intent(in):    model state vector (mixed units)
-                 diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
-                 prog_data,                & ! intent(in):    model prognostic variables for a local HRU
-                 indx_data,                & ! intent(in):    indices defining model states and layers
-                 ! output: variables for the vegetation canopy
-                 scalarCanairTempTrial,    & ! intent(out):   trial value of canopy air temperature (K)
-                 scalarCanopyTempTrial,    & ! intent(out):   trial value of canopy temperature (K)
-                 scalarCanopyWatTrial,     & ! intent(out):   trial value of canopy total water (kg m-2)
-                 scalarCanopyLiqTrial,     & ! intent(out):   trial value of canopy liquid water (kg m-2)
-                 scalarCanopyIceTrial,     & ! intent(out):   trial value of canopy ice content (kg m-2)
-                 ! output: variables for the snow-soil domain
-                 mLayerTempTrial,          & ! intent(out):   trial vector of layer temperature (K)
-                 mLayerVolFracWatTrial,    & ! intent(out):   trial vector of volumetric total water content (-)
-                 mLayerVolFracLiqTrial,    & ! intent(out):   trial vector of volumetric liquid water content (-)
-                 mLayerVolFracIceTrial,    & ! intent(out):   trial vector of volumetric ice water content (-)
-                 mLayerMatricHeadTrial,    & ! intent(out):   trial vector of total water matric potential (m)
-                 mLayerMatricHeadLiqTrial, & ! intent(out):   trial vector of liquid water matric potential (m)
-                 ! output: variables for the aquifer
-                 scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
-                 ! output: error control
-                 err,cmessage)               ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
- ! update diagnostic variables
- call updateVars(&
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! provide access to subroutines
+  USE getVectorz_module, only:varExtract           ! extract variables from the state vector
+  USE updateVars_module, only:updateVars           ! update prognostic variables
+  USE t2enthalpy_module, only:t2enthalpy           ! compute enthalpy
+  USE computFlux_module, only:soilCmpres           ! compute soil compression
+  USE computFlux_module, only:computFlux           ! compute fluxes given a state vector
+  USE computResid_module,only:computResid          ! compute residuals given a state vector
+  implicit none
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! input: model control
+  real(dp),intent(in)             :: dt                     ! length of the time step (seconds)
+  integer(i4b),intent(in)         :: nSnow                  ! number of snow layers
+  integer(i4b),intent(in)         :: nSoil                  ! number of soil layers
+  integer(i4b),intent(in)         :: nLayers                ! total number of layers
+  integer(i4b),intent(in)         :: nState                 ! total number of state variables
+  logical(lgt),intent(in)         :: firstSubStep           ! flag to indicate if we are processing the first sub-step
+  logical(lgt),intent(inout)      :: firstFluxCall          ! flag to indicate if we are processing the first flux call
+  logical(lgt),intent(in)         :: firstSplitOper         ! flag to indicate if we are processing the first flux call in a splitting operation
+  logical(lgt),intent(in)         :: computeVegFlux         ! flag to indicate if computing fluxes over vegetation
+  logical(lgt),intent(in)         :: scalarSolution         ! flag to denote if implementing the scalar solution
+  ! input: state vectors
+  real(dp),intent(in)             :: stateVecTrial(:)       ! model state vector
+  real(dp),intent(in)             :: fScale(:)              ! function scaling vector
+  real(qp),intent(in)             :: sMul(:)   ! NOTE: qp   ! state vector multiplier (used in the residual calculations)
+  ! input: data structures
+  type(model_options),intent(in)  :: model_decisions(:)     ! model decisions
+  type(zLookup),      intent(in)  :: lookup_data            ! lookup tables
+  type(var_i),        intent(in)  :: type_data              ! type of vegetation and soil
+  type(var_d),        intent(in)  :: attr_data              ! spatial attributes
+  type(var_dlength),  intent(in)  :: mpar_data              ! model parameters
+  type(var_d),        intent(in)  :: forc_data              ! model forcing data
+  type(var_dlength),  intent(in)  :: bvar_data              ! model variables for the local basin
+  type(var_dlength),  intent(in)  :: prog_data              ! prognostic variables for a local HRU
+  ! output: data structures
+  type(var_ilength),intent(inout) :: indx_data              ! indices defining model states and layers
+  type(var_dlength),intent(inout) :: diag_data              ! diagnostic variables for a local HRU
+  type(var_dlength),intent(inout) :: flux_data              ! model fluxes for a local HRU
+  type(var_dlength),intent(inout) :: deriv_data             ! derivatives in model fluxes w.r.t. relevant state variables
+  ! input-output: baseflow
+  integer(i4b),intent(inout)      :: ixSaturation           ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
+  real(dp),intent(out)            :: dBaseflow_dMatric(:,:) ! derivative in baseflow w.r.t. matric head (s-1)
+  ! output: flux and residual vectors
+  logical(lgt),intent(out)        :: feasible               ! flag to denote the feasibility of the solution
+  real(dp),intent(out)            :: fluxVec(:)             ! flux vector
+  real(dp),intent(out)            :: resSink(:)             ! sink terms on the RHS of the flux equation
+  real(qp),intent(out)            :: resVec(:) ! NOTE: qp   ! residual vector
+  real(dp),intent(out)            :: fEval                  ! function evaluation
+  ! output: error control
+  integer(i4b),intent(out)        :: err                    ! error code
+  character(*),intent(out)        :: message                ! error message
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! local variables
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! state variables
+  real(dp)                        :: scalarCanairTempTrial     ! trial value for temperature of the canopy air space (K)
+  real(dp)                        :: scalarCanopyTempTrial     ! trial value for temperature of the vegetation canopy (K)
+  real(dp)                        :: scalarCanopyWatTrial      ! trial value for liquid water storage in the canopy (kg m-2)
+  real(dp),dimension(nLayers)     :: mLayerTempTrial           ! trial value for temperature of layers in the snow and soil domains (K)
+  real(dp),dimension(nLayers)     :: mLayerVolFracWatTrial     ! trial value for volumetric fraction of total water (-)
+  real(dp),dimension(nSoil)       :: mLayerMatricHeadTrial     ! trial value for total water matric potential (m)
+  real(dp),dimension(nSoil)       :: mLayerMatricHeadLiqTrial  ! trial value for liquid water matric potential (m)
+  real(dp)                        :: scalarAquiferStorageTrial ! trial value of storage of water in the aquifer (m)
+  ! diagnostic variables
+  logical(lgt),parameter          :: needEnthalpy=.true.      ! flag to compute enthalpy
+  real(dp)                        :: scalarCanopyLiqTrial      ! trial value for mass of liquid water on the vegetation canopy (kg m-2)
+  real(dp)                        :: scalarCanopyIceTrial      ! trial value for mass of ice on the vegetation canopy (kg m-2)
+  real(dp),dimension(nLayers)     :: mLayerVolFracLiqTrial     ! trial value for volumetric fraction of liquid water (-)
+  real(dp),dimension(nLayers)     :: mLayerVolFracIceTrial     ! trial value for volumetric fraction of ice (-)
+  ! other local variables
+  integer(i4b)                    :: iLayer                    ! index of model layer in the snow+soil domain
+  integer(i4b)                    :: jState(1)                 ! index of model state for the scalar solution within the soil domain
+  integer(i4b)                    :: ixBeg,ixEnd               ! index of indices for the soil compression routine
+  integer(i4b),parameter          :: ixVegVolume=1             ! index of the desired vegetation control volumne (currently only one veg layer)
+  real(dp)                        :: xMin,xMax                 ! minimum and maximum values for water content
+  real(dp)                        :: scalarCanopyHydTrial      ! trial value for mass of water on the vegetation canopy (kg m-2)
+  real(dp),parameter              :: canopyTempMax=500._dp     ! expected maximum value for the canopy temperature (K)
+  real(dp),dimension(nLayers)     :: mLayerVolFracHydTrial     ! trial value for volumetric fraction of water (-), general vector merged from Wat and Liq
+  real(dp),dimension(nState)      :: rVecScaled                ! scaled residual vector
+  character(LEN=256)              :: cmessage                  ! error message of downwind routine
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! association to variables in the data structures
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  associate(&
+  ! model decisions
+  ixRichards              => model_decisions(iLookDECISIONS%f_Richards)%iDecision   ,&  ! intent(in):  [i4b]   index of the form of Richards' equation
+  ! snow parameters
+  snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)         ,&  ! intent(in):  [dp]    scaling parameter for the snow freezing curve (K-1)
+  ! soil parameters
+  theta_sat               => mpar_data%var(iLookPARAM%theta_sat)%dat                ,&  ! intent(in):  [dp(:)] soil porosity (-)
+  specificStorage         => mpar_data%var(iLookPARAM%specificStorage)%dat(1)       ,&  ! intent(in):  [dp]    specific storage coefficient (m-1)
+  ! canopy and layer depth
+  canopyDepth             => diag_data%var(iLookDIAG%scalarCanopyDepth)%dat(1)      ,&  ! intent(in):  [dp   ] canopy depth (m)
+  mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,&  ! intent(in):  [dp(:)] depth of each layer in the snow-soil sub-domain (m)
+  ! model state variables
+  scalarSfcMeltPond       => prog_data%var(iLookPROG%scalarSfcMeltPond)%dat(1)      ,&  ! intent(in):  [dp]    ponded water caused by melt of the "snow without a layer" (kg m-2)
+  mLayerVolFracLiq        => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat          ,&  ! intent(in):  [dp(:)] volumetric fraction of liquid water (-)
+  mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,&  ! intent(in):  [dp(:)] volumetric fraction of ice (-)
+  mLayerMatricHeadLiq     => diag_data%var(iLookDIAG%mLayerMatricHeadLiq)%dat       ,&  ! intent(in):  [dp(:)] liquid water matric potential (m)
+  ! model diagnostic variables
+  scalarFracLiqVeg        => diag_data%var(iLookDIAG%scalarFracLiqVeg)%dat(1)       ,&  ! intent(in):  [dp]    fraction of liquid water on vegetation (-)
+  mLayerFracLiqSnow       => diag_data%var(iLookDIAG%mLayerFracLiqSnow)%dat         ,&  ! intent(in):  [dp(:)] fraction of liquid water in each snow layer (-)
+  ! enthalpy
+  scalarCanairEnthalpy    => diag_data%var(iLookDIAG%scalarCanairEnthalpy)%dat(1)   ,&  ! intent(out): [dp]    enthalpy of the canopy air space (J m-3)
+  scalarCanopyEnthalpy    => diag_data%var(iLookDIAG%scalarCanopyEnthalpy)%dat(1)   ,&  ! intent(out): [dp]    enthalpy of the vegetation canopy (J m-3)
+  mLayerEnthalpy          => diag_data%var(iLookDIAG%mLayerEnthalpy)%dat            ,&  ! intent(out): [dp(:)] enthalpy of the snow+soil layers (J m-3)
+  ! soil compression
+  scalarSoilCompress      => diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1)     ,&  ! intent(in): [dp]    total change in storage associated with compression of the soil matrix (kg m-2)
+  mLayerCompress          => diag_data%var(iLookDIAG%mLayerCompress)%dat            ,&  ! intent(in): [dp(:)] change in storage associated with compression of the soil matrix (-)
+  ! derivatives
+  dVolTot_dPsi0           => deriv_data%var(iLookDERIV%dVolTot_dPsi0)%dat           ,&  ! intent(in): [dp(:)] derivative in total water content w.r.t. total water matric potential
+  dCompress_dPsi          => deriv_data%var(iLookDERIV%dCompress_dPsi)%dat          ,&  ! intent(in): [dp(:)] derivative in compressibility w.r.t. matric head (m-1)
+  ! mapping
+  ixMapFull2Subset        => indx_data%var(iLookINDEX%ixMapFull2Subset)%dat         ,&  ! intent(in): [i4b(:)] mapping of full state vector to the state subset
+  ixControlVolume         => indx_data%var(iLookINDEX%ixControlVolume)%dat          ,&  ! intent(in): [i4b(:)] index of control volume for different domains (veg, snow, soil)
+  ! indices
+  ixCasNrg                => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy air space energy state variable (nrg)
+  ixVegNrg                => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy energy state variable (nrg)
+  ixVegHyd                => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy hydrology state variable (mass)
+  ixSnowOnlyNrg           => indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat            ,&  ! intent(in): [i4b(:)] indices for energy states in the snow subdomain
+  ixSnowSoilHyd           => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat            ,&  ! intent(in): [i4b(:)] indices for hydrology states in the snow+soil subdomain
+  ixStateType             => indx_data%var(iLookINDEX%ixStateType)%dat              ,&  ! intent(in): [i4b(:)] indices defining the type of the state (iname_nrgLayer...)
+  ixHydCanopy             => indx_data%var(iLookINDEX%ixHydCanopy)%dat              ,&  ! intent(in): [i4b(:)] index of the hydrology states in the canopy domain
+  ixHydType               => indx_data%var(iLookINDEX%ixHydType)%dat                ,&  ! intent(in): [i4b(:)] index of the type of hydrology states in snow+soil domain
+  layerType               => indx_data%var(iLookINDEX%layerType)%dat                 &  ! intent(in): [i4b(:)] layer type (iname_soil or iname_snow)
+  ) ! association to variables in the data structures
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! initialize error control
+  err=0; message="eval8summa/"
+
+  ! check the feasibility of the solution
+  feasible=.true.
+
+  ! check that the canopy air space temperature is reasonable
+  if(ixCasNrg/=integerMissing)then
+    if(stateVecTrial(ixCasNrg) > canopyTempMax) feasible=.false.
+  endif
+
+  ! check that the canopy air space temperature is reasonable
+  if(ixVegNrg/=integerMissing)then
+    if(stateVecTrial(ixVegNrg) > canopyTempMax) feasible=.false.
+  endif
+
+  ! check canopy liquid water is not negative
+  if(ixVegHyd/=integerMissing)then
+    if(stateVecTrial(ixVegHyd) < 0._dp) feasible=.false.
+  end if
+
+  ! check snow temperature is below freezing
+  if(count(ixSnowOnlyNrg/=integerMissing)>0)then
+    if(any(stateVecTrial( pack(ixSnowOnlyNrg,ixSnowOnlyNrg/=integerMissing) ) > Tfreeze)) feasible=.false.
+  endif
+
+  ! loop through non-missing hydrology state variables in the snow+soil domain
+  do concurrent (iLayer=1:nLayers,ixSnowSoilHyd(iLayer)/=integerMissing)
+
+    ! check the minimum and maximum water constraints
+    if(ixHydType(iLayer)==iname_watLayer .or. ixHydType(iLayer)==iname_liqLayer)then
+
+      ! --> minimum
+      if (layerType(iLayer) == iname_soil) then
+        xMin = theta_sat(iLayer-nSnow)
+      else
+        xMin = 0._dp
+      endif
+
+      ! --> maximum
+      select case( layerType(iLayer) )
+        case(iname_snow); xMax = merge(iden_ice,  1._dp - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
+        case(iname_soil); xMax = merge(theta_sat(iLayer-nSnow), theta_sat(iLayer-nSnow) - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
+      end select
+
+      ! --> check
+      if(stateVecTrial( ixSnowSoilHyd(iLayer) ) < xMin .or. stateVecTrial( ixSnowSoilHyd(iLayer) ) > xMax) feasible=.false.
+      !if(.not.feasible) write(*,'(a,1x,i4,1x,L1,1x,10(f20.10,1x))') 'iLayer, feasible, stateVecTrial( ixSnowSoilHyd(iLayer) ), xMin, xMax = ', iLayer, feasible, stateVecTrial( ixSnowSoilHyd(iLayer) ), xMin, xMax
+
+    endif  ! if water states
+
+  end do  ! loop through non-missing hydrology state variables in the snow+soil domain
+
+  ! early return for non-feasible solutions
+  if(.not.feasible)then
+    fluxVec(:) = realMissing
+    resVec(:)  = quadMissing
+    fEval      = realMissing
+    return
+  end if
+
+  ! get the start and end indices for the soil compression calculations
+  if(scalarSolution)then
+    jState = pack(ixControlVolume, ixMapFull2Subset/=integerMissing)
+    ixBeg  = jState(1)
+    ixEnd  = jState(1)
+  else
+    ixBeg  = 1
+    ixEnd  = nSoil
+  endif
+
+  ! extract variables from the model state vector
+  call varExtract(&
+                  ! input
+                  stateVecTrial,            & ! intent(in):    model state vector (mixed units)
+                  diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
+                  prog_data,                & ! intent(in):    model prognostic variables for a local HRU
+                  indx_data,                & ! intent(in):    indices defining model states and layers
+                  ! output: variables for the vegetation canopy
+                  scalarCanairTempTrial,    & ! intent(out):   trial value of canopy air temperature (K)
+                  scalarCanopyTempTrial,    & ! intent(out):   trial value of canopy temperature (K)
+                  scalarCanopyWatTrial,     & ! intent(out):   trial value of canopy total water (kg m-2)
+                  scalarCanopyLiqTrial,     & ! intent(out):   trial value of canopy liquid water (kg m-2)
+                  scalarCanopyIceTrial,     & ! intent(out):   trial value of canopy ice content (kg m-2)
+                  ! output: variables for the snow-soil domain
+                  mLayerTempTrial,          & ! intent(out):   trial vector of layer temperature (K)
+                  mLayerVolFracWatTrial,    & ! intent(out):   trial vector of volumetric total water content (-)
+                  mLayerVolFracLiqTrial,    & ! intent(out):   trial vector of volumetric liquid water content (-)
+                  mLayerVolFracIceTrial,    & ! intent(out):   trial vector of volumetric ice water content (-)
+                  mLayerMatricHeadTrial,    & ! intent(out):   trial vector of total water matric potential (m)
+                  mLayerMatricHeadLiqTrial, & ! intent(out):   trial vector of liquid water matric potential (m)
+                  ! output: variables for the aquifer
+                  scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
+                  ! output: error control
+                  err,cmessage)               ! intent(out):   error control
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
+
+  ! update diagnostic variables
+  call updateVars(&
                  ! input
                  .false.,                                   & ! intent(in):    logical flag to adjust temperature to account for the energy used in melt+freeze
                  lookup_data,                               & ! intent(in):    lookup tables for a local HRU
@@ -387,7 +397,43 @@ contains
                  mLayerMatricHeadLiqTrial,                  & ! intent(inout): trial vector of liquid water matric potential (m)
                  ! output: error control
                  err,cmessage)                                ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
+  
+  ! compute enthalpy (J m-3)
+  if(needEnthalpy)then
+    call t2enthalpy(&
+                    ! input: data structures
+                    diag_data,                   & ! intent(in):  model diagnostic variables for a local HRU
+                    mpar_data,                   & ! intent(in):  parameter data structure
+                    indx_data,                   & ! intent(in):  model indices
+                    lookup_data,                 & ! intent(in):  lookup table data structure
+                    ! input: state variables for the vegetation canopy
+                    scalarCanairTempTrial,       & ! intent(in):  trial value of canopy air temperature (K)
+                    scalarCanopyTempTrial,       & ! intent(in):  trial value of canopy temperature (K)
+                    scalarCanopyWatTrial,        & ! intent(in):  trial value of canopy total water (kg m-2)
+                    scalarCanopyIceTrial,        & ! intent(in):  trial value of canopy ice content (kg m-2)
+                    ! input: variables for the snow-soil domain
+                    mLayerTempTrial,             & ! intent(in):  trial vector of layer temperature (K)
+                    mLayerVolFracWatTrial,       & ! intent(in):  trial vector of volumetric total water content (-)
+                    mLayerMatricHeadTrial,       & ! intent(in):  trial vector of total water matric potential (m)
+                    mLayerVolFracIceTrial,       & ! intent(in):  trial vector of volumetric fraction of ice (-)
+                    ! output: enthalpy
+                    scalarCanairEnthalpy,        & ! intent(out):  enthalpy of the canopy air space (J m-3)
+                    scalarCanopyEnthalpy,        & ! intent(out):  enthalpy of the vegetation canopy (J m-3)
+                    mLayerEnthalpy,              & ! intent(out):  enthalpy of each snow+soil layer (J m-3)
+                    ! output: error control
+                    err,cmessage)                  ! intent(out): error control
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    endif
+  endif  ! if computing enthalpy
+
 
  ! print the states in the canopy domain
  !print*, 'dt = ', dt
@@ -404,18 +450,18 @@ contains
  !write(*,'(a,1x,10(f20.10,1x))') 'mLayerMatricHeadTrial    = ', mLayerMatricHeadTrial(iJac1:min(nSoil,iJac2))
  !write(*,'(a,1x,10(f20.10,1x))') 'mLayerMatricHeadLiqTrial = ', mLayerMatricHeadLiqTrial(iJac1:min(nSoil,iJac2))
 
- ! print the water content
- if(globalPrintFlag)then
-  if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracWatTrial = ', mLayerVolFracWatTrial(iJac1:min(iJac2,nSnow))
-  if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracLiqTrial = ', mLayerVolFracLiqTrial(iJac1:min(iJac2,nSnow))
-  if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracIceTrial = ', mLayerVolFracIceTrial(iJac1:min(iJac2,nSnow))
- endif
+  ! print the water content
+  if(globalPrintFlag)then
+    if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracWatTrial = ', mLayerVolFracWatTrial(iJac1:min(iJac2,nSnow))
+    if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracLiqTrial = ', mLayerVolFracLiqTrial(iJac1:min(iJac2,nSnow))
+    if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracIceTrial = ', mLayerVolFracIceTrial(iJac1:min(iJac2,nSnow))
+  endif
 
- ! save the number of flux calls per time step
- indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) = indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) + 1
+  ! save the number of flux calls per time step
+  indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) = indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) + 1
 
- ! compute the fluxes for a given state vector
- call computFlux(&
+  ! compute the fluxes for a given state vector
+  call computFlux(&
                  ! input-output: model control
                  nSnow,                     & ! intent(in):    number of snow layers
                  nSoil,                     & ! intent(in):    number of soil layers
@@ -458,76 +504,88 @@ contains
                  fluxVec,                   & ! intent(out):   flux vector (mixed units)
                  ! output: error control
                  err,cmessage)                ! intent(out):   error code and error message
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
- ! compute soil compressibility (-) and its derivative w.r.t. matric head (m)
- ! NOTE: we already extracted trial matrix head and volumetric liquid water as part of the flux calculations
- call soilCmpres(&
-                 ! input:
-                 ixRichards,                             & ! intent(in): choice of option for Richards' equation
-                 ixBeg,ixEnd,                            & ! intent(in): start and end indices defining desired layers
-                 mLayerMatricHeadLiq(1:nSoil),           & ! intent(in): matric head at the start of the time step (m)
-                 mLayerMatricHeadLiqTrial(1:nSoil),      & ! intent(in): trial value of matric head (m)
-                 mLayerVolFracLiqTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric liquid water content in each soil layer (-)
-                 mLayerVolFracIceTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric ice content in each soil layer (-)
-                 specificStorage,                        & ! intent(in): specific storage coefficient (m-1)
-                 theta_sat,                              & ! intent(in): soil porosity (-)
-                 ! output:
-                 mLayerCompress,                         & ! intent(inout): compressibility of the soil matrix (-)
-                 dCompress_dPsi,                         & ! intent(inout): derivative in compressibility w.r.t. matric head (m-1)
-                 err,cmessage)                             ! intent(out): error code and error message
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
- ! compute the total change in storage associated with compression of the soil matrix (kg m-2)
- scalarSoilCompress = sum(mLayerCompress(1:nSoil)*mLayerDepth(nSnow+1:nLayers))*iden_water
-
- ! vegetation domain: get the correct water states (total water, or liquid water, depending on the state type)
- if(computeVegFlux)then
-  scalarCanopyHydTrial = merge(scalarCanopyWatTrial, scalarCanopyLiqTrial, (ixStateType( ixHydCanopy(ixVegVolume) )==iname_watCanopy) )
- else
-  scalarCanopyHydTrial = realMissing
- endif
-
- ! snow+soil domain: get the correct water states (total water, or liquid water, depending on the state type)
- mLayerVolFracHydTrial = merge(mLayerVolFracWatTrial, mLayerVolFracLiqTrial, (ixHydType==iname_watLayer .or. ixHydType==iname_matLayer) )
-
- ! compute the residual vector
- call computResid(&
-                  ! input: model control
-                  dt,                        & ! intent(in):    length of the time step (seconds)
-                  nSnow,                     & ! intent(in):    number of snow layers
-                  nSoil,                     & ! intent(in):    number of soil layers
-                  nLayers,                   & ! intent(in):    total number of layers
-                  ! input: flux vectors
-                  sMul,                      & ! intent(in):    state vector multiplier (used in the residual calculations)
-                  fluxVec,                   & ! intent(in):    flux vector
-                  ! input: state variables (already disaggregated into scalars and vectors)
-                  scalarCanairTempTrial,     & ! intent(in):    trial value for the temperature of the canopy air space (K)
-                  scalarCanopyTempTrial,     & ! intent(in):    trial value for the temperature of the vegetation canopy (K)
-                  scalarCanopyHydTrial,      & ! intent(in):    trial value of canopy hydrology state variable (kg m-2)
-                  mLayerTempTrial,           & ! intent(in):    trial value for the temperature of each snow and soil layer (K)
-                  mLayerVolFracHydTrial,     & ! intent(in):    trial vector of volumetric water content (-)
-                  scalarAquiferStorageTrial, & ! intent(in):    trial value of storage of water in the aquifer (m)
-                  ! input: diagnostic variables defining the liquid water and ice content (function of state variables)
-                  scalarCanopyIceTrial,      & ! intent(in):    trial value for the ice on the vegetation canopy (kg m-2)
-                  mLayerVolFracIceTrial,     & ! intent(in):    trial value for the volumetric ice in each snow and soil layer (-)
-                  ! input: data structures
-                  prog_data,                 & ! intent(in):    model prognostic variables for a local HRU
-                  diag_data,                 & ! intent(in):    model diagnostic variables for a local HRU
-                  flux_data,                 & ! intent(in):    model fluxes for a local HRU
-                  indx_data,                 & ! intent(in):    index data
-                  ! output
-                  resSink,                   & ! intent(out):   additional (sink) terms on the RHS of the state equation
-                  resVec,                    & ! intent(out):   residual vector
-                  err,cmessage)                ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
- ! compute the function evaluation
- rVecScaled = fScale(:)*real(resVec(:), dp)   ! scale the residual vector (NOTE: residual vector is in quadruple precision)
- fEval      = 0.5_dp*dot_product(rVecScaled,rVecScaled)
-
- ! end association with the information in the data structures
- end associate
-
- end subroutine eval8summa
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
+
+  ! compute soil compressibility (-) and its derivative w.r.t. matric head (m)
+  ! NOTE: we already extracted trial matrix head and volumetric liquid water as part of the flux calculations
+  call soilCmpres(&
+                  ! input:
+                  ixRichards,                             & ! intent(in): choice of option for Richards' equation
+                  ixBeg,ixEnd,                            & ! intent(in): start and end indices defining desired layers
+                  mLayerMatricHeadLiq(1:nSoil),           & ! intent(in): matric head at the start of the time step (m)
+                  mLayerMatricHeadLiqTrial(1:nSoil),      & ! intent(in): trial value of matric head (m)
+                  mLayerVolFracLiqTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric liquid water content in each soil layer (-)
+                  mLayerVolFracIceTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric ice content in each soil layer (-)
+                  specificStorage,                        & ! intent(in): specific storage coefficient (m-1)
+                  theta_sat,                              & ! intent(in): soil porosity (-)
+                  ! output:
+                  mLayerCompress,                         & ! intent(inout): compressibility of the soil matrix (-)
+                  dCompress_dPsi,                         & ! intent(inout): derivative in compressibility w.r.t. matric head (m-1)
+                  err,cmessage)                             ! intent(out): error code and error message
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
+
+  ! compute the total change in storage associated with compression of the soil matrix (kg m-2)
+  scalarSoilCompress = sum(mLayerCompress(1:nSoil)*mLayerDepth(nSnow+1:nLayers))*iden_water
+
+  ! vegetation domain: get the correct water states (total water, or liquid water, depending on the state type)
+  if(computeVegFlux)then
+    scalarCanopyHydTrial = merge(scalarCanopyWatTrial, scalarCanopyLiqTrial, (ixStateType( ixHydCanopy(ixVegVolume) )==iname_watCanopy) )
+  else
+    scalarCanopyHydTrial = realMissing
+  endif
+
+  ! snow+soil domain: get the correct water states (total water, or liquid water, depending on the state type)
+  mLayerVolFracHydTrial = merge(mLayerVolFracWatTrial, mLayerVolFracLiqTrial, (ixHydType==iname_watLayer .or. ixHydType==iname_matLayer) )
+
+  ! compute the residual vector
+  call computResid(&
+                    ! input: model control
+                    dt,                        & ! intent(in):    length of the time step (seconds)
+                    nSnow,                     & ! intent(in):    number of snow layers
+                    nSoil,                     & ! intent(in):    number of soil layers
+                    nLayers,                   & ! intent(in):    total number of layers
+                    ! input: flux vectors
+                    sMul,                      & ! intent(in):    state vector multiplier (used in the residual calculations)
+                    fluxVec,                   & ! intent(in):    flux vector
+                    ! input: state variables (already disaggregated into scalars and vectors)
+                    scalarCanairTempTrial,     & ! intent(in):    trial value for the temperature of the canopy air space (K)
+                    scalarCanopyTempTrial,     & ! intent(in):    trial value for the temperature of the vegetation canopy (K)
+                    scalarCanopyHydTrial,      & ! intent(in):    trial value of canopy hydrology state variable (kg m-2)
+                    mLayerTempTrial,           & ! intent(in):    trial value for the temperature of each snow and soil layer (K)
+                    mLayerVolFracHydTrial,     & ! intent(in):    trial vector of volumetric water content (-)
+                    scalarAquiferStorageTrial, & ! intent(in):    trial value of storage of water in the aquifer (m)
+                    ! input: diagnostic variables defining the liquid water and ice content (function of state variables)
+                    scalarCanopyIceTrial,      & ! intent(in):    trial value for the ice on the vegetation canopy (kg m-2)
+                    mLayerVolFracIceTrial,     & ! intent(in):    trial value for the volumetric ice in each snow and soil layer (-)
+                    ! input: data structures
+                    prog_data,                 & ! intent(in):    model prognostic variables for a local HRU
+                    diag_data,                 & ! intent(in):    model diagnostic variables for a local HRU
+                    flux_data,                 & ! intent(in):    model fluxes for a local HRU
+                    indx_data,                 & ! intent(in):    index data
+                    ! output
+                    resSink,                   & ! intent(out):   additional (sink) terms on the RHS of the state equation
+                    resVec,                    & ! intent(out):   residual vector
+                    err,cmessage)                ! intent(out):   error control
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
+
+  ! compute the function evaluation
+  rVecScaled = fScale(:)*real(resVec(:), dp)   ! scale the residual vector (NOTE: residual vector is in quadruple precision)
+  fEval      = 0.5_dp*dot_product(rVecScaled,rVecScaled)
+
+  ! end association with the information in the data structures
+  end associate
+
+end subroutine eval8summa
 end module eval8summa_module
diff --git a/build/source/engine/opSplittin.f90 b/build/source/engine/opSplittin.f90
index a118d6c..d3a674d 100755
--- a/build/source/engine/opSplittin.f90
+++ b/build/source/engine/opSplittin.f90
@@ -298,7 +298,7 @@ subroutine opSplittin(&
   logical(lgt)                    :: failedMinimumStep              ! flag to denote failure of substepping for a given split
   integer(i4b)                    :: ixSaturation                   ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
   integer(i4b)                    :: nCoupling                      ! number of possible solutions
-  real(qp)						            :: dt_out                         !
+  real(qp)                        :: dt_out                         !
 
   
   ! ---------------------------------------------------------------------------------------
@@ -865,7 +865,7 @@ subroutine opSplittin(&
                                 failedMinimumStep,          & ! intent(out)   : flag for failed substeps
                                 reduceCoupledStep,          & ! intent(out)   : flag to reduce the length of the coupled step
                                 tooMuchMelt,                & ! intent(out)   : flag to denote that ice is insufficient to support melt
-                                dt_out,					            & ! intent(out)
+                                dt_out,                     & ! intent(out)
                                 err,cmessage)                 ! intent(out)   : error code and error message
                                 ! solve variable subset for one full time step
                 case(backwEuler)
diff --git a/build/source/engine/sundials/computEnthalpy.f90 b/build/source/engine/sundials/computEnthalpy.f90
index ba216ad..d76bbaa 100644
--- a/build/source/engine/sundials/computEnthalpy.f90
+++ b/build/source/engine/sundials/computEnthalpy.f90
@@ -96,38 +96,38 @@ contains
  ! **********************************************************************************************************
  subroutine computEnthalpyPrime(&
                         ! input
-                        computeVegFlux,				  &
+                        computeVegFlux,               &
                         indx_data,                    &
                         nLayers,                      &
-                        canopyDepth,               	  & ! intent(in): canopy depth (m)
+                        canopyDepth,                  & ! intent(in): canopy depth (m)
                         scalarCanopyTempPrime,        & ! intent(in):    Prime value for the temperature of the vegetation canopy (K)
                         scalarCanopyIcePrime,         & ! intent(in):    Prime value for the ice on the vegetation canopy (kg m-2)
                         mLayerTempPrime,              &
                         mLayerVolFracIcePrime,        &
-                        heatCapVeg,					  &
+                        heatCapVeg,                   &
                         mLayerHeatCap,                & 
                         ! output
-                        scalarCanopyEnthalpyPrime,	  &
+                        scalarCanopyEnthalpyPrime,    &
                         mLayerEnthalpyPrime           &
                         )                
  ! --------------------------------------------------------------------------------------------------------------------------------
  implicit none
  ! input: model control
- logical(lgt),intent(in)         :: computeVegFlux         		! logical flag to denote if computing the vegetation flux
- type(var_ilength),intent(in)    :: indx_data                 	! indices defining model states and layers
- integer(i4b),intent(in)         :: nLayers                     ! number of snow layers
- real(rkind),intent(in)			 :: canopyDepth					! canopy depth (m)
- real(rkind),intent(in)			 :: scalarCanopyTempPrime       ! Prime value for the temperature of the vegetation canopy (K)
- real(rkind),intent(in)			 :: scalarCanopyIcePrime		! Prime value for the ice on the vegetation canopy (kg m-2)
- real(rkind),intent(in)			 :: heatCapVeg
+ logical(lgt),intent(in)            :: computeVegFlux            ! logical flag to denote if computing the vegetation flux
+ type(var_ilength),intent(in)       :: indx_data                 ! indices defining model states and layers
+ integer(i4b),intent(in)            :: nLayers                   ! number of snow layers
+ real(rkind),intent(in)             :: canopyDepth                   ! canopy depth (m)
+ real(rkind),intent(in)             :: scalarCanopyTempPrime         ! Prime value for the temperature of the vegetation canopy (K)
+ real(rkind),intent(in)             :: scalarCanopyIcePrime          ! Prime value for the ice on the vegetation canopy (kg m-2)
+ real(rkind),intent(in)             :: heatCapVeg
  real(rkind),intent(in)             :: mLayerTempPrime(:)          ! temperature of each snow/soil layer (K)
  real(rkind),intent(in)             :: mLayerVolFracIcePrime(:)    ! volumetric fraction of ice (-)
  real(rkind),intent(in)             :: mLayerHeatCap(:)
- real(rkind),intent(out)			 :: scalarCanopyEnthalpyPrime
+ real(rkind),intent(out)            :: scalarCanopyEnthalpyPrime
  real(rkind),intent(out)            :: mLayerEnthalpyPrime(:)
  
  ! local variables
- integer(i4b)                    :: iLayer
+ integer(i4b)                       :: iLayer
 
  ! --------------------------------------------------------------------------------------------------------------------------------
  
diff --git a/build/source/engine/sundials/computHeatCap.f90 b/build/source/engine/sundials/computHeatCap.f90
index 615e1d3..5e880c5 100644
--- a/build/source/engine/sundials/computHeatCap.f90
+++ b/build/source/engine/sundials/computHeatCap.f90
@@ -79,47 +79,47 @@ contains
  ! **********************************************************************************************************
  subroutine computHeatCap(&
                         ! input: control variables
-                       nLayers,                 	 & ! intent(in): number of layers (soil+snow)
-                       computeVegFlux,         		 & ! intent(in): flag to denote if computing the vegetation flux
-                       canopyDepth,             	 & ! intent(in): canopy depth (m)
+                       nLayers,                       & ! intent(in): number of layers (soil+snow)
+                       computeVegFlux,                & ! intent(in): flag to denote if computing the vegetation flux
+                       canopyDepth,                   & ! intent(in): canopy depth (m)
                        ! input data structures
-                       mpar_data,               	 & ! intent(in):    model parameters
-                       indx_data,               	 & ! intent(in):    model layer indices
-                       diag_data,               	 & ! intent(in):    model diagnostic variables for a local HRU
+                       mpar_data,                     & ! intent(in):    model parameters
+                       indx_data,                     & ! intent(in):    model layer indices
+                       diag_data,                     & ! intent(in):    model diagnostic variables for a local HRU
                        ! input: state variables
-                       scalarCanopyIce,         	 & ! intent(in)
-                       scalarCanopyLiquid,       	 & ! intent(in)
-                       scalarCanopyTempTrial,   	 & ! intent(in):  trial value of canopy temperature (K)
-                       scalarCanopyTempPrev,    	 & ! intent(in):  previous value of canopy temperature (K)
-                       scalarCanopyEnthalpyTrial,    & ! intent(in):  trial enthalpy of the vegetation canopy (J m-3)
-                       scalarCanopyEnthalpyPrev,     & ! intent(in):  previous enthalpy of the vegetation canopy (J m-3)
-                       mLayerVolFracIce,        	 & ! intent(in): volumetric fraction of ice at the start of the sub-step (-)
-                       mLayerVolFracLiq,        	 & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
-                       mLayerTempTrial,          	 & ! intent(in): trial temperature
-                       mLayerTempPrev,           	 & ! intent(in): previous temperature
-                       mLayerEnthalpyTrial,      	 & ! intent(in): trial enthalpy for snow and soil
-                       mLayerEnthalpyPrev,       	 & ! intent(in): previous enthalpy for snow and soil
+                       scalarCanopyIce,               & ! intent(in)
+                       scalarCanopyLiquid,            & ! intent(in)
+                       scalarCanopyTempTrial,         & ! intent(in):  trial value of canopy temperature (K)
+                       scalarCanopyTempPrev,          & ! intent(in):  previous value of canopy temperature (K)
+                       scalarCanopyEnthalpyTrial,     & ! intent(in):  trial enthalpy of the vegetation canopy (J m-3)
+                       scalarCanopyEnthalpyPrev,      & ! intent(in):  previous enthalpy of the vegetation canopy (J m-3)
+                       mLayerVolFracIce,              & ! intent(in): volumetric fraction of ice at the start of the sub-step (-)
+                       mLayerVolFracLiq,              & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
+                       mLayerTempTrial,               & ! intent(in): trial temperature
+                       mLayerTempPrev,                & ! intent(in): previous temperature
+                       mLayerEnthalpyTrial,           & ! intent(in): trial enthalpy for snow and soil
+                       mLayerEnthalpyPrev,            & ! intent(in): previous enthalpy for snow and soil
                        ! output
-                       heatCapVeg,               	 &
-                       mLayerHeatCap,            	 & ! intent(out): heat capacity for snow and soil
+                       heatCapVeg,                    &
+                       mLayerHeatCap,                 & ! intent(out): heat capacity for snow and soil
                        ! output: error control
                        err,message)               ! intent(out): error control
  ! --------------------------------------------------------------------------------------------------------------------------------------
  ! input: control variables
- logical(lgt),intent(in)         :: computeVegFlux         ! logical flag to denote if computing the vegetation flux
+ logical(lgt),intent(in)            :: computeVegFlux         ! logical flag to denote if computing the vegetation flux
  real(rkind),intent(in)             :: canopyDepth            ! depth of the vegetation canopy (m)
  ! input/output: data structures
- type(var_dlength),intent(in)    :: mpar_data              ! model parameters
- type(var_ilength),intent(in)    :: indx_data              ! model layer indices
+ type(var_dlength),intent(in)       :: mpar_data              ! model parameters
+ type(var_ilength),intent(in)       :: indx_data              ! model layer indices
  ! input:
- integer(i4b),intent(in)         :: nLayers
- type(var_dlength),intent(in)    :: diag_data              ! diagnostic variables for a local HRU
+ integer(i4b),intent(in)            :: nLayers
+ type(var_dlength),intent(in)       :: diag_data              ! diagnostic variables for a local HRU
  real(rkind),intent(in)             :: scalarCanopyIce        ! trial value of canopy ice content (kg m-2)
  real(rkind),intent(in)             :: scalarCanopyLiquid
- real(rkind),intent(in)		     :: scalarCanopyTempTrial  ! trial value of canopy temperature
+ real(rkind),intent(in)             :: scalarCanopyTempTrial  ! trial value of canopy temperature
  real(rkind),intent(in)             :: scalarCanopyEnthalpyTrial ! trial enthalpy of the vegetation canopy (J m-3)
  real(rkind),intent(in)             :: scalarCanopyEnthalpyPrev  ! intent(in):  previous enthalpy of the vegetation canopy (J m-3)
- real(rkind),intent(in)		     :: scalarCanopyTempPrev   ! Previous value of canopy temperature
+ real(rkind),intent(in)             :: scalarCanopyTempPrev   ! Previous value of canopy temperature
  real(rkind),intent(in)             :: mLayerVolFracLiq(:)        ! trial vector of volumetric liquid water content (-)
  real(rkind),intent(in)             :: mLayerVolFracIce(:)        ! trial vector of volumetric ice water content (-)
  real(rkind),intent(in)             :: mLayerTempTrial(:)
@@ -127,16 +127,16 @@ contains
  real(rkind),intent(in)             :: mLayerEnthalpyTrial(:)
  real(rkind),intent(in)             :: mLayerEnthalpyPrev(:)
  ! output:
- real(qp),intent(out)            :: heatCapVeg
- real(qp),intent(out)            :: mLayerHeatCap(:)
- integer(i4b),intent(out)        :: err                    ! error code
- character(*),intent(out)        :: message                ! error message
+ real(qp),intent(out)               :: heatCapVeg
+ real(qp),intent(out)               :: mLayerHeatCap(:)
+ integer(i4b),intent(out)           :: err                    ! error code
+ character(*),intent(out)           :: message                ! error message
  ! --------------------------------------------------------------------------------------------------------------------------------
  ! local variables
- integer(i4b)                    :: iLayer                 ! index of model layer
+ integer(i4b)                       :: iLayer                 ! index of model layer
  real(rkind)                        :: delT
  real(rkind)                        :: delEnt
- integer(i4b)                    :: iSoil                  ! index of soil layer
+ integer(i4b)                       :: iSoil                  ! index of soil layer
  ! --------------------------------------------------------------------------------------------------------------------------------
  ! associate variables in data structure
  associate(&
@@ -160,12 +160,12 @@ contains
  if(computeVegFlux)then
    delT = scalarCanopyTempTrial - scalarCanopyTempPrev
    if(abs(delT) <= 1e-14_rkind)then   
-	  heatCapVeg =  specificHeatVeg*maxMassVegetation/canopyDepth + & ! vegetation component
+      heatCapVeg =  specificHeatVeg*maxMassVegetation/canopyDepth + & ! vegetation component
                     Cp_water*scalarCanopyLiquid/canopyDepth       + & ! liquid water component
                     Cp_ice*scalarCanopyIce/canopyDepth                ! ice component
    else 
-   	  delEnt = scalarCanopyEnthalpyTrial - scalarCanopyEnthalpyPrev
-   	  heatCapVeg = delEnt / delT
+      delEnt = scalarCanopyEnthalpyTrial - scalarCanopyEnthalpyPrev
+      heatCapVeg = delEnt / delT
    end if
  end if
 
@@ -437,9 +437,9 @@ contains
  character(LEN=256)                :: cmessage               ! error message of downwind routine
  integer(i4b)                      :: iLayer                 ! index of model layer
  integer(i4b)                      :: iSoil                  ! index of soil layer
- real(rkind)						   :: g1
- real(rkind)						   :: g2
- real(rkind)                          :: Tcrit                     ! temperature where all water is unfrozen (K)
+ real(rkind)                       :: g1
+ real(rkind)                       :: g2
+ real(rkind)                       :: Tcrit                     ! temperature where all water is unfrozen (K)
  
  ! --------------------------------------------------------------------------------------------------------------------------------
  ! associate variables in data structure
@@ -463,9 +463,9 @@ snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)   & !
   g2 = scalarCanopyTemp - Tfreeze
   g1 = (1._rkind/snowfrz_scale) * atan(snowfrz_scale * g2)
   if(scalarCanopyTemp < Tfreeze)then
-  	scalarCanopyCm =  Cp_water * g1 + Cp_ice * (g2 - g1) 
+    scalarCanopyCm =  Cp_water * g1 + Cp_ice * (g2 - g1) 
   else
-  	scalarCanopyCm =  Cp_water * g2
+    scalarCanopyCm =  Cp_water * g2
   end if            
  end if
 
@@ -493,7 +493,7 @@ snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)   & !
     g2 = mLayerTemp(iLayer) - Tfreeze
     g1 = (1._rkind/snowfrz_scale) * atan(snowfrz_scale * g2)
     mLayerCm(iLayer) =  (iden_ice * Cp_ice - iden_air * Cp_air * iden_water/iden_ice) * ( g2 - g1 ) &
-    				 +  (iden_water * Cp_water - iden_air * Cp_air) * g1
+            +  (iden_water * Cp_water - iden_air * Cp_air) * g1
     				 
    case default; err=20; message=trim(message)//'unable to identify type of layer (snow or soil) to compute Cm'; return
   end select
diff --git a/build/source/engine/sundials/computSnowDepth.f90 b/build/source/engine/sundials/computSnowDepth.f90
index 9332798..c86fe51 100644
--- a/build/source/engine/sundials/computSnowDepth.f90
+++ b/build/source/engine/sundials/computSnowDepth.f90
@@ -43,33 +43,33 @@ contains
  ! public subroutine computSnowDepth: compute snow depth for one sub timestep
  ! ************************************************************************************************
  subroutine computSnowDepth(&
- 							dt_sub,					&
- 							nSnow,					& ! intent(in)
- 							scalarSnowSublimation,  & ! intent(in)
- 							mLayerVolFracLiq,   	& ! intent(inout)
- 							mLayerVolFracIce,		& ! intent(inout)
- 							mLayerTemp,				& ! intent(in)
- 							mLayerMeltFreeze,		& ! intent(in)
- 							mpar_data,				& ! intent(in)
- 					   		! output
-                            tooMuchSublim,          & ! intent(out): flag to denote that there was too much sublimation in a given time step
- 					   		mLayerDepth,			& ! intent(inout)
-                       		! error control
-                       		err,message)         ! intent(out):   error control
+                dt_sub,                  &
+                nSnow,                   & ! intent(in)
+                scalarSnowSublimation,   & ! intent(in)
+                mLayerVolFracLiq,        & ! intent(inout)
+                mLayerVolFracIce,        & ! intent(inout)
+                mLayerTemp,              & ! intent(in)
+                mLayerMeltFreeze,        & ! intent(in)
+                mpar_data,               & ! intent(in)
+                ! output
+                tooMuchSublim,           & ! intent(out): flag to denote that there was too much sublimation in a given time step
+                mLayerDepth,             & ! intent(inout)
+                ! error control
+                err,message)               ! intent(out):   error control
 
  USE snwDensify_module,only:snwDensify      ! snow densification (compaction and cavitation)
 
  implicit none
- real(qp),intent(in)			      :: dt_sub
+ real(qp),intent(in)                  :: dt_sub
  integer(i4b),intent(in)              :: nSnow                  ! number of snow layers
- real(rkind),intent(in)			      :: scalarSnowSublimation
- real(rkind),intent(inout)		      :: mLayerVolFracLiq(:)
- real(rkind),intent(inout)		      :: mLayerVolFracIce(:)
- real(rkind),intent(in)			      :: mLayerTemp(:)
- real(rkind),intent(in)			      :: mLayerMeltFreeze(:)
+ real(rkind),intent(in)               :: scalarSnowSublimation
+ real(rkind),intent(inout)            :: mLayerVolFracLiq(:)
+ real(rkind),intent(inout)            :: mLayerVolFracIce(:)
+ real(rkind),intent(in)               :: mLayerTemp(:)
+ real(rkind),intent(in)               :: mLayerMeltFreeze(:)
  type(var_dlength),intent(in)         :: mpar_data              ! model parameters
  logical(lgt)                         :: tooMuchSublim          ! flag to denote that there was too much sublimation in a given time step
- real(rkind),intent(inout)			  :: mLayerDepth(:)
+ real(rkind),intent(inout)            :: mLayerDepth(:)
 
  integer(i4b),intent(out)             :: err                    ! error code
  character(*),intent(out)             :: message                ! error message
@@ -120,12 +120,12 @@ contains
   ! *** account for compaction and cavitation in the snowpack...
   ! ------------------------------------------------------------
   if(nSnow>0)then
-   call snwDensify(&
+    call snwDensify(&
                    ! intent(in): variables
                    dt_sub,                                                  & ! intent(in): time step (s)
-                   nSnow,                 									& ! intent(in): number of snow layers
-                   mLayerTemp(1:nSnow),       								& ! intent(in): temperature of each layer (K)
-                   mLayerMeltFreeze(1:nSnow),							 	& ! intent(in): volumetric melt in each layer (kg m-3)
+                   nSnow,                                                   & ! intent(in): number of snow layers
+                   mLayerTemp(1:nSnow),                                     & ! intent(in): temperature of each layer (K)
+                   mLayerMeltFreeze(1:nSnow),                               & ! intent(in): volumetric melt in each layer (kg m-3)
                    ! intent(in): parameters
                    mpar_data%var(iLookPARAM%densScalGrowth)%dat(1),         & ! intent(in): density scaling factor for grain growth (kg-1 m3)
                    mpar_data%var(iLookPARAM%tempScalGrowth)%dat(1),         & ! intent(in): temperature scaling factor for grain growth (K-1)
@@ -134,16 +134,19 @@ contains
                    mpar_data%var(iLookPARAM%tempScalOvrbdn)%dat(1),         & ! intent(in): temperature scaling factor for overburden pressure (K-1)
                    mpar_data%var(iLookPARAM%baseViscosity)%dat(1),          & ! intent(in): viscosity coefficient at T=T_frz and snow density=0 (kg m-2 s)
                    ! intent(inout): state variables
-                   mLayerDepth(1:nSnow),      								& ! intent(inout): depth of each layer (m)
-                   mLayerVolFracLiq(1:nSnow), 								& ! intent(inout):  volumetric fraction of liquid water after itertations (-)
-                   mLayerVolFracIce(1:nSnow), 								& ! intent(inout):  volumetric fraction of ice after itertations (-)
+                   mLayerDepth(1:nSnow),                                    & ! intent(inout): depth of each layer (m)
+                   mLayerVolFracLiq(1:nSnow),                               & ! intent(inout):  volumetric fraction of liquid water after itertations (-)
+                   mLayerVolFracIce(1:nSnow),                               & ! intent(inout):  volumetric fraction of ice after itertations (-)
                    ! output: error control
-                   err,cmessage)                     ! intent(out): error control
-   if(err/=0)then; err=55; message=trim(message)//trim(cmessage); return; end if
+                   err,cmessage)                                              ! intent(out): error control
+    if(err/=0)then
+      err=55
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    end if
   end if  ! if snow layers exist
-
-
- end subroutine computSnowDepth
+end subroutine computSnowDepth
 
 
 end module computSnowDepth_module
diff --git a/build/source/engine/sundials/eval8DAE.f90 b/build/source/engine/sundials/eval8DAE.f90
index a83f8ac..27db9d4 100644
--- a/build/source/engine/sundials/eval8DAE.f90
+++ b/build/source/engine/sundials/eval8DAE.f90
@@ -85,680 +85,680 @@ public::eval8DAE
 
 contains
 
- ! **********************************************************************************************************
- ! public subroutine eval8DAE: compute the residual vector
- ! **********************************************************************************************************
- subroutine eval8DAE(&
-                       ! input: model control
-                       dt_cur,                  & ! intent(in):    current stepsize
-                       dt,                      & ! intent(in):    entire time step
-                       nSnow,                   & ! intent(in):    number of snow layers
-                       nSoil,                   & ! intent(in):    number of soil layers
-                       nLayers,                 & ! intent(in):    total number of layers
-                       nState,                  & ! intent(in):    total number of state variables
-                       checkFeas,               & ! intent(in):    flag to indicate if we are checking for feasibility
-                       firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
-                       firstFluxCall,			& ! intent(inout)  flag to indicate if we are processing the first flux call
-                       firstSplitOper,		    & ! intent(inout)  flag to indicate if we are processing the first flux call in a splitting operation
-                       computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
-                       scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
-                       requireLWBal,            & ! intent(in):    flag to indicate if we need longwave to be balanced
-                       ! input: state vectors
-                       stateVec,                & ! intent(in):    model state vector
-                       stateVecPrime,           & ! intent(in):    derivative of model state vector
-                       sMul,                    & ! intent(inout):  state vector multiplier (used in the residual calculations)
-                       ! input: data structures
-                       model_decisions,         & ! intent(in):    model decisions
-                       lookup_data,             & ! intent(in):    lookup data
-                       type_data,               & ! intent(in):    type of vegetation and soil
-                       attr_data,               & ! intent(in):    spatial attributes
-                       mpar_data,               & ! intent(in):    model parameters
-                       forc_data,               & ! intent(in):    model forcing data
-                       bvar_data,               & ! intent(in):    average model variables for the entire basin
-                       prog_data,               & ! intent(in):    model prognostic variables for a local HRU
-                       ! input-output: data structures
-                       indx_data,               & ! intent(inout): index data
-                       diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
-                       flux_data,               & ! intent(inout): model fluxes for a local HRU
-                       deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
-                       ! input-output:
-                       dBaseflow_dMatric,       & ! intent(out):    derivative in baseflow w.r.t. matric head (s-1)
-                       scalarCanopyTempTrial,   & ! intent(out):    trial value of canopy temperature (K)
-                       scalarCanopyTempPrev,    & ! intent(in):     value of canopy temperature (K)
-                       scalarCanopyIceTrial,    & ! intent(out):    trial value for mass of ice on the vegetation canopy (kg m-2)
-                       scalarCanopyIcePrev,	    & ! intent(in):     value for mass of ice on the vegetation canopy (kg m-2)
-                       scalarCanopyLiqTrial,    & ! intent(out):    trial value of canopy liquid water (kg m-2)
-                       scalarCanopyLiqPrev,	    & ! intent(in):     value of canopy liquid water (kg m-2)
-                       scalarCanopyEnthalpyTrial,& ! intent(out):   trial value for enthalpy of the vegetation canopy (J m-3)
-                       scalarCanopyEnthalpyPrev,& ! intent(in):     value for enthalpy of the vegetation canopy (J m-3)
-                       mLayerTempTrial,         & ! intent(out):    trial vector of layer temperature (K)
-                       mLayerTempPrev,          & ! intent(in):     vector of layer temperature (K)
-                       mLayerMatricHeadLiqTrial,& ! intent(out):    trial value for liquid water matric potential (m)
-                       mLayerMatricHeadTrial, 	& ! intent(out):    trial value for total water matric potential (m)
-                       mLayerMatricHeadPrev,    & ! intent(in):     value for total water matric potential (m)
-                       mLayerVolFracWatTrial,   & ! intent(out):    trial vector of volumetric total water content (-)
-                       mLayerVolFracWatPrev,    & ! intent(in):     vector of volumetric total water content (-)
-                       mLayerVolFracIceTrial,   & ! intent(out):    trial vector of volumetric ice water content (-)
-                       mLayerVolFracIcePrev,    & ! intent(in):     vector of volumetric ice water content (-)
-                       mLayerVolFracLiqTrial,   & ! intent(out):    trial vector of volumetric liquid water content (-)
-                       mLayerVolFracLiqPrev,    & ! intent(in):     vector of volumetric liquid water content (-)
-                       scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
-                 	   scalarAquiferStoragePrev,& ! intent(in):     value of storage of water in the aquifer (m)
-                       mLayerEnthalpyPrev,      & ! intent(in):     vector of enthalpy for snow+soil layers (J m-3)
-                       mLayerEnthalpyTrial,     & ! intent(out):    trial vector of enthalpy for snow+soil layers (J m-3)
-                       ixSaturation,            & ! intent(inout):  index of the lowest saturated layer
-                       feasible,                & ! intent(out):    flag to denote the feasibility of the solution
-                       fluxVec,                 & ! intent(out):    flux vector
-                       resSink,                 & ! intent(out):    additional (sink) terms on the RHS of the state equation
-                       resVec,                  & ! intent(out):    residual vector
-                       err,message)               ! intent(out):    error control
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! provide access to subroutines
- USE varExtrSundials_module, only:varExtract2           ! extract variables from the state vector
- USE varExtrSundials_module, only:varExtractSundials
- USE updateVarsSundials_module, only:updateVarsSundials           ! update variables
- USE t2enthalpy_module, only:t2enthalpy_T           ! compute enthalpy
- USE computFlux_module, only:soilCmpresSundials            ! compute soil compression
- USE computFlux_module, only:computFlux           ! compute fluxes given a state vector
- USE computHeatCap_module,only:computHeatCap      ! compute heat capacity
- USE computHeatCap_module,only:computHeatCapAnalytic      ! compute heat capacity
- USE computHeatCap_module,only:computCm
- USE computHeatCap_module, only:computStatMult
- USE computResidDAE_module,only:computResidDAE          ! compute residuals given a state vector
- USE computThermConduct_module,only:computThermConduct
- USE computEnthalpy_module,only:computEnthalpy
- USE computEnthalpy_module,only:computEnthalpyPrime
- implicit none
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! input: model control
- real(rkind),intent(in)          :: dt_cur
- real(rkind),intent(in)          :: dt                     ! time step
- integer(i4b),intent(in)         :: nSnow                  ! number of snow layers
- integer(i4b),intent(in)         :: nSoil                  ! number of soil layers
- integer(i4b),intent(in)         :: nLayers                ! total number of layers
- integer,intent(in)              :: nState                 ! total number of state variables
- logical(lgt),intent(in) 		 :: checkFeas              ! flag to indicate if we are checking for feasibility
- logical(lgt),intent(in)         :: firstSubStep           ! flag to indicate if we are processing the first sub-step
- logical(lgt),intent(inout)      :: firstFluxCall
- logical(lgt),intent(inout)      :: firstSplitOper         ! flag to indicate if we are processing the first flux call in a splitting operation
- logical(lgt),intent(in)         :: computeVegFlux         ! flag to indicate if computing fluxes over vegetation
- logical(lgt),intent(in)         :: scalarSolution         ! flag to denote if implementing the scalar solution
- logical(lgt),intent(in)         :: requireLWBal           ! flag to indicate if we need longwave to be balanced
- ! input: state vectors
- real(rkind),intent(in)          :: stateVec(:)            ! model state vector
- real(rkind),intent(in)          :: stateVecPrime(:)       ! model state vector
- real(qp),intent(inout)          :: sMul(:)   ! NOTE: qp   ! state vector multiplier (used in the residual calculations)
- ! input: data structures
- type(model_options),intent(in)  :: model_decisions(:)     ! model decisions
- type(zLookup),intent(in)        :: lookup_data            ! lookup tables
- type(var_i),        intent(in)  :: type_data              ! type of vegetation and soil
- type(var_d),        intent(in)  :: attr_data              ! spatial attributes
- type(var_dlength),  intent(in)  :: mpar_data              ! model parameters
- type(var_d),        intent(in)  :: forc_data              ! model forcing data
- type(var_dlength),  intent(in)  :: bvar_data              ! model variables for the local basin
- type(var_dlength),  intent(in)  :: prog_data              ! prognostic variables for a local HRU
- ! output: data structures
- type(var_ilength),intent(inout) :: indx_data              ! indices defining model states and layers
- type(var_dlength),intent(inout) :: diag_data              ! diagnostic variables for a local HRU
- type(var_dlength),intent(inout) :: flux_data              ! model fluxes for a local HRU
- type(var_dlength),intent(inout) :: deriv_data             ! derivatives in model fluxes w.r.t. relevant state variables
- ! input-output: baseflow
- real(rkind),intent(out)         :: dBaseflow_dMatric(:,:) ! derivative in baseflow w.r.t. matric head (s-1)
- ! output: flux and residual vectors
- real(rkind),intent(out)         :: scalarCanopyTempTrial     ! trial value for temperature of the vegetation canopy (K)
- real(rkind),intent(in)          :: scalarCanopyTempPrev      ! previous value for temperature of the vegetation canopy (K)
- real(rkind),intent(out)         :: scalarCanopyIceTrial      ! trial value for mass of ice on the vegetation canopy (kg m-2)
- real(rkind),intent(in)          :: scalarCanopyIcePrev       ! previous value for mass of ice on the vegetation canopy (kg m-2)
- real(rkind),intent(out)         :: scalarCanopyLiqTrial      ! trial value for mass of ice on the vegetation canopy (kg m-2)
- real(rkind),intent(in)          :: scalarCanopyLiqPrev       ! previous value for mass of ice on the vegetation canopy (kg m-2)
- real(rkind),intent(out)         :: scalarCanopyEnthalpyTrial ! trial value for enthalpy of the vegetation canopy (J m-3)
- real(rkind),intent(in)          :: scalarCanopyEnthalpyPrev  ! previous value of enthalpy of the vegetation canopy (J m-3)
- real(rkind),intent(out)         :: mLayerTempTrial(:)        ! trial vector of layer temperature (K)
- real(rkind),intent(in)          :: mLayerTempPrev(:)
- real(rkind),intent(out)         :: mLayerMatricHeadLiqTrial(:)  ! trial value for liquid water matric potential (m)
- real(rkind),intent(out)         :: mLayerMatricHeadTrial(:)  ! trial value for total water matric potential (m)
- real(rkind),intent(in)          :: mLayerMatricHeadPrev(:) ! value for total water matric potential (m)
- real(rkind),intent(out)         :: mLayerVolFracWatTrial(:)  ! trial vector of volumetric total water content (-)
- real(rkind),intent(in)          :: mLayerVolFracWatPrev(:) ! vector of volumetric total water content (-)
- real(rkind),intent(out)         :: mLayerVolFracIceTrial(:)  ! trial vector of volumetric ice water content (-)
- real(rkind),intent(in)          :: mLayerVolFracIcePrev(:) ! vector of volumetric ice water content (-)
- real(rkind),intent(out)         :: mLayerVolFracLiqTrial(:)  ! trial vector of volumetric liquid water content (-)
- real(rkind),intent(in)          :: mLayerVolFracLiqPrev(:) ! vector of volumetric liquid water content (-)
- real(rkind),intent(out)         :: scalarAquiferStorageTrial ! trial value of storage of water in the aquifer (m)
- real(rkind),intent(in)          :: scalarAquiferStoragePrev  ! value of storage of water in the aquifer (m)
- real(rkind),intent(in)          :: mLayerEnthalpyPrev(:)    ! vector of enthalpy for snow+soil layers (J m-3)
- real(rkind),intent(out)         :: mLayerEnthalpyTrial(:)   ! trial vector of enthalpy for snow+soil layers (J m-3)
- integer(i4b),intent(inout)      :: ixSaturation              ! index of the lowest saturated layer
- logical(lgt),intent(out)        :: feasible               ! flag to denote the feasibility of the solution
- real(rkind),intent(out)         :: fluxVec(:)             ! flux vector
- real(rkind),intent(out)         :: resSink(:)             ! sink terms on the RHS of the flux equation
- real(qp),intent(out)            :: resVec(:) ! NOTE: qp   ! residual vector
- ! output: error control
- integer(i4b),intent(out)        :: err                    ! error code
- character(*),intent(out)        :: message                ! error message
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! local variables
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! state variables
- real(rkind)                        :: scalarCanairTempTrial     ! trial value for temperature of the canopy air space (K)
- real(rkind)                        :: scalarCanopyWatTrial      ! trial value for liquid water storage in the canopy (kg m-2)
-  ! derivative of state variables
- real(rkind)                        :: scalarCanairTempPrime     ! derivative value for temperature of the canopy air space (K)
- real(rkind)                        :: scalarCanopyTempPrime     ! derivative value for temperature of the vegetation canopy (K)
- real(rkind)                        :: scalarCanopyWatPrime      ! derivative value for liquid water storage in the canopy (kg m-2)
- real(rkind),dimension(nLayers)     :: mLayerTempPrime           ! derivative value for temperature of layers in the snow and soil domains (K)
- real(rkind),dimension(nLayers)     :: mLayerVolFracWatPrime     ! derivative value for volumetric fraction of total water (-)
- real(rkind),dimension(nSoil)       :: mLayerMatricHeadPrime     ! derivative value for total water matric potential (m)
- real(rkind),dimension(nSoil)       :: mLayerMatricHeadLiqPrime  ! derivative value for liquid water matric potential (m)
- real(rkind)                        :: scalarAquiferStoragePrime ! derivative value of storage of water in the aquifer (m)
- ! derivative of diagnostic variables
- real(rkind)                        :: scalarCanopyLiqPrime      ! derivative value for mass of liquid water on the vegetation canopy (kg m-2)
- real(rkind)                        :: scalarCanopyIcePrime      ! derivative value for mass of ice on the vegetation canopy (kg m-2)
- real(rkind),dimension(nLayers)     :: mLayerVolFracLiqPrime     ! derivative value for volumetric fraction of liquid water (-)
- real(rkind),dimension(nLayers)     :: mLayerVolFracIcePrime     ! derivative value for volumetric fraction of ice (-)
- ! enthalpy
- real(rkind)                        :: scalarCanairEnthalpy      ! enthalpy of the canopy air space (J m-3)
- real(rkind),dimension(nLayers)     :: mLayerEnthalpyPrime       ! enthalpy of each snow+soil layer (J m-3)
- ! other local variables
- integer(i4b)                       :: iLayer                    ! index of model layer in the snow+soil domain
- integer(i4b)                       :: jState(1)                 ! index of model state for the scalar solution within the soil domain
- integer(i4b)                       :: ixBeg,ixEnd               ! index of indices for the soil compression routine
- integer(i4b),parameter             :: ixVegVolume=1             ! index of the desired vegetation control volumne (currently only one veg layer)
- real(rkind)                        :: xMin,xMax                 ! minimum and maximum values for water content
- real(rkind),parameter              :: canopyTempMax=500._rkind  ! expected maximum value for the canopy temperature (K)
- character(LEN=256)                 :: cmessage                  ! error message of downwind routine
- real(rkind)						            :: scalarCanopyCmTrial       ! trial value of Cm for the canopy
- real(rkind),dimension(nLayers)	    :: mLayerCmTrial             ! trial vector of Cm for snow+soil
- logical(lgt),parameter			        :: updateCp=.true.           ! flag to indicate if we update Cp at each step
- logical(lgt),parameter			        :: needCm=.false.            ! flag to indicate if the energy equation contains Cm = dH_T/dTheta_m
-
-
-
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! association to variables in the data structures
- ! --------------------------------------------------------------------------------------------------------------------------------
- associate(&
- ! model decisions
- ixRichards              => model_decisions(iLookDECISIONS%f_Richards)%iDecision   ,&  ! intent(in):  [i4b]   index of the form of Richards' equation
- ! snow parameters
- snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)         ,&  ! intent(in):  [dp]    scaling parameter for the snow freezing curve (K-1)
- ! soil parameters
- theta_sat               => mpar_data%var(iLookPARAM%theta_sat)%dat                ,&  ! intent(in):  [dp(:)] soil porosity (-)
- specificStorage         => mpar_data%var(iLookPARAM%specificStorage)%dat(1)       ,&  ! intent(in):  [dp]    specific storage coefficient (m-1)
- theta_res               => mpar_data%var(iLookPARAM%theta_res)%dat                ,&  ! intent(in):  [dp(:)] residual volumetric water content (-)
- ! canopy and layer depth
- canopyDepth             => diag_data%var(iLookDIAG%scalarCanopyDepth)%dat(1)      ,&  ! intent(in):  [dp   ] canopy depth (m)
- mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,&  ! intent(in):  [dp(:)] depth of each layer in the snow-soil sub-domain (m)
- ! model state variables
- scalarSfcMeltPond       => prog_data%var(iLookPROG%scalarSfcMeltPond)%dat(1)      ,&  ! intent(in):  [dp]    ponded water caused by melt of the "snow without a layer" (kg m-2)
- mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,&  ! intent(in):  [dp(:)] volumetric fraction of ice (-)
- ! soil compression
- scalarSoilCompress      => diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1)     ,&  ! intent(in): [dp]    total change in storage associated with compression of the soil matrix (kg m-2)
- mLayerCompress          => diag_data%var(iLookDIAG%mLayerCompress)%dat            ,&  ! intent(in): [dp(:)] change in storage associated with compression of the soil matrix (-)
- ! derivatives
- dVolTot_dPsi0           => deriv_data%var(iLookDERIV%dVolTot_dPsi0)%dat           ,&  ! intent(in): [dp(:)] derivative in total water content w.r.t. total water matric potential
- dCompress_dPsi          => deriv_data%var(iLookDERIV%dCompress_dPsi)%dat          ,&  ! intent(in): [dp(:)] derivative in compressibility w.r.t. matric head (m-1)
- ! mapping
- ixMapFull2Subset        => indx_data%var(iLookINDEX%ixMapFull2Subset)%dat         ,&  ! intent(in): [i4b(:)] mapping of full state vector to the state subset
- ixControlVolume         => indx_data%var(iLookINDEX%ixControlVolume)%dat          ,&  ! intent(in): [i4b(:)] index of control volume for different domains (veg, snow, soil)
- ! indices
- ixCasNrg                => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy air space energy state variable (nrg)
- ixVegNrg                => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy energy state variable (nrg)
- ixVegHyd                => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy hydrology state variable (mass)
- ixSnowOnlyNrg           => indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat            ,&  ! intent(in): [i4b(:)] indices for energy states in the snow subdomain
- ixSnowSoilHyd           => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat            ,&  ! intent(in): [i4b(:)] indices for hydrology states in the snow+soil subdomain
- ixStateType             => indx_data%var(iLookINDEX%ixStateType)%dat              ,&  ! intent(in): [i4b(:)] indices defining the type of the state (iname_nrgLayer...)
- ixHydCanopy             => indx_data%var(iLookINDEX%ixHydCanopy)%dat              ,&  ! intent(in): [i4b(:)] index of the hydrology states in the canopy domain
- ixHydType               => indx_data%var(iLookINDEX%ixHydType)%dat                ,&  ! intent(in): [i4b(:)] index of the type of hydrology states in snow+soil domain
- layerType               => indx_data%var(iLookINDEX%layerType)%dat                 ,&  ! intent(in): [i4b(:)] layer type (iname_soil or iname_snow)
- heatCapVegTrial		     =>  diag_data%var(iLookDIAG%scalarBulkVolHeatCapVeg)%dat(1) ,& ! intent(out): volumetric heat capacity of vegetation canopy
- mLayerHeatCapTrial		   =>  diag_data%var(iLookDIAG%mLayerVolHtCapBulk)%dat         &  ! intent(out): heat capacity for snow and soil
- ) ! association to variables in the data structures
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message="eval8DAE/"
- feasible=.true.
-
- ! check the feasibility of the solution
- if (checkFeas) then
-  ! check that the canopy air space temperature is reasonable
-  if(ixCasNrg/=integerMissing)then
-   if(stateVec(ixCasNrg) > canopyTempMax) feasible=.false.
-   if(stateVec(ixCasNrg) > canopyTempMax) message=trim(message)//'canopy air space temp high,'
-   if(.not.feasible) write(*,'(a,1x,L1,1x,10(f20.10,1x))') 'feasible, max, stateVec( ixCasNrg )', feasible, canopyTempMax, stateVec(ixCasNrg)
-  endif
+! **********************************************************************************************************
+! public subroutine eval8DAE: compute the residual vector
+! **********************************************************************************************************
+subroutine eval8DAE(&
+                      ! input: model control
+                      dt_cur,                  & ! intent(in):    current stepsize
+                      dt,                      & ! intent(in):    entire time step
+                      nSnow,                   & ! intent(in):    number of snow layers
+                      nSoil,                   & ! intent(in):    number of soil layers
+                      nLayers,                 & ! intent(in):    total number of layers
+                      nState,                  & ! intent(in):    total number of state variables
+                      checkFeas,               & ! intent(in):    flag to indicate if we are checking for feasibility
+                      firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
+                      firstFluxCall,           & ! intent(inout)  flag to indicate if we are processing the first flux call
+                      firstSplitOper,          & ! intent(inout)  flag to indicate if we are processing the first flux call in a splitting operation
+                      computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
+                      scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
+                      requireLWBal,            & ! intent(in):    flag to indicate if we need longwave to be balanced
+                      ! input: state vectors
+                      stateVec,                & ! intent(in):    model state vector
+                      stateVecPrime,           & ! intent(in):    derivative of model state vector
+                      sMul,                    & ! intent(inout):  state vector multiplier (used in the residual calculations)
+                      ! input: data structures
+                      model_decisions,         & ! intent(in):    model decisions
+                      lookup_data,             & ! intent(in):    lookup data
+                      type_data,               & ! intent(in):    type of vegetation and soil
+                      attr_data,               & ! intent(in):    spatial attributes
+                      mpar_data,               & ! intent(in):    model parameters
+                      forc_data,               & ! intent(in):    model forcing data
+                      bvar_data,               & ! intent(in):    average model variables for the entire basin
+                      prog_data,               & ! intent(in):    model prognostic variables for a local HRU
+                      ! input-output: data structures
+                      indx_data,               & ! intent(inout): index data
+                      diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
+                      flux_data,               & ! intent(inout): model fluxes for a local HRU
+                      deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
+                      ! input-output:
+                      dBaseflow_dMatric,       & ! intent(out):    derivative in baseflow w.r.t. matric head (s-1)
+                      scalarCanopyTempTrial,   & ! intent(out):    trial value of canopy temperature (K)
+                      scalarCanopyTempPrev,    & ! intent(in):     value of canopy temperature (K)
+                      scalarCanopyIceTrial,    & ! intent(out):    trial value for mass of ice on the vegetation canopy (kg m-2)
+                      scalarCanopyIcePrev,     & ! intent(in):     value for mass of ice on the vegetation canopy (kg m-2)
+                      scalarCanopyLiqTrial,    & ! intent(out):    trial value of canopy liquid water (kg m-2)
+                      scalarCanopyLiqPrev,     & ! intent(in):     value of canopy liquid water (kg m-2)
+                      scalarCanopyEnthalpyTrial,& ! intent(out):   trial value for enthalpy of the vegetation canopy (J m-3)
+                      scalarCanopyEnthalpyPrev,& ! intent(in):     value for enthalpy of the vegetation canopy (J m-3)
+                      mLayerTempTrial,         & ! intent(out):    trial vector of layer temperature (K)
+                      mLayerTempPrev,          & ! intent(in):     vector of layer temperature (K)
+                      mLayerMatricHeadLiqTrial,& ! intent(out):    trial value for liquid water matric potential (m)
+                      mLayerMatricHeadTrial,   & ! intent(out):    trial value for total water matric potential (m)
+                      mLayerMatricHeadPrev,    & ! intent(in):     value for total water matric potential (m)
+                      mLayerVolFracWatTrial,   & ! intent(out):    trial vector of volumetric total water content (-)
+                      mLayerVolFracWatPrev,    & ! intent(in):     vector of volumetric total water content (-)
+                      mLayerVolFracIceTrial,   & ! intent(out):    trial vector of volumetric ice water content (-)
+                      mLayerVolFracIcePrev,    & ! intent(in):     vector of volumetric ice water content (-)
+                      mLayerVolFracLiqTrial,   & ! intent(out):    trial vector of volumetric liquid water content (-)
+                      mLayerVolFracLiqPrev,    & ! intent(in):     vector of volumetric liquid water content (-)
+                      scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
+                      scalarAquiferStoragePrev,& ! intent(in):     value of storage of water in the aquifer (m)
+                      mLayerEnthalpyPrev,      & ! intent(in):     vector of enthalpy for snow+soil layers (J m-3)
+                      mLayerEnthalpyTrial,     & ! intent(out):    trial vector of enthalpy for snow+soil layers (J m-3)
+                      ixSaturation,            & ! intent(inout):  index of the lowest saturated layer
+                      feasible,                & ! intent(out):    flag to denote the feasibility of the solution
+                      fluxVec,                 & ! intent(out):    flux vector
+                      resSink,                 & ! intent(out):    additional (sink) terms on the RHS of the state equation
+                      resVec,                  & ! intent(out):    residual vector
+                      err,message)               ! intent(out):    error control
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! provide access to subroutines
+  USE varExtrSundials_module, only:varExtract2           ! extract variables from the state vector
+  USE varExtrSundials_module, only:varExtractSundials
+  USE updateVarsSundials_module, only:updateVarsSundials           ! update variables
+  USE t2enthalpy_module, only:t2enthalpy_T           ! compute enthalpy
+  USE computFlux_module, only:soilCmpresSundials            ! compute soil compression
+  USE computFlux_module, only:computFlux           ! compute fluxes given a state vector
+  USE computHeatCap_module,only:computHeatCap      ! compute heat capacity
+  USE computHeatCap_module,only:computHeatCapAnalytic      ! compute heat capacity
+  USE computHeatCap_module,only:computCm
+  USE computHeatCap_module, only:computStatMult
+  USE computResidDAE_module,only:computResidDAE          ! compute residuals given a state vector
+  USE computThermConduct_module,only:computThermConduct
+  USE computEnthalpy_module,only:computEnthalpy
+  USE computEnthalpy_module,only:computEnthalpyPrime
+  implicit none
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! input: model control
+  real(rkind),intent(in)          :: dt_cur
+  real(rkind),intent(in)          :: dt                     ! time step
+  integer(i4b),intent(in)         :: nSnow                  ! number of snow layers
+  integer(i4b),intent(in)         :: nSoil                  ! number of soil layers
+  integer(i4b),intent(in)         :: nLayers                ! total number of layers
+  integer,intent(in)              :: nState                 ! total number of state variables
+  logical(lgt),intent(in)         :: checkFeas              ! flag to indicate if we are checking for feasibility
+  logical(lgt),intent(in)         :: firstSubStep           ! flag to indicate if we are processing the first sub-step
+  logical(lgt),intent(inout)      :: firstFluxCall
+  logical(lgt),intent(inout)      :: firstSplitOper         ! flag to indicate if we are processing the first flux call in a splitting operation
+  logical(lgt),intent(in)         :: computeVegFlux         ! flag to indicate if computing fluxes over vegetation
+  logical(lgt),intent(in)         :: scalarSolution         ! flag to denote if implementing the scalar solution
+  logical(lgt),intent(in)         :: requireLWBal           ! flag to indicate if we need longwave to be balanced
+  ! input: state vectors
+  real(rkind),intent(in)          :: stateVec(:)            ! model state vector
+  real(rkind),intent(in)          :: stateVecPrime(:)       ! model state vector
+  real(qp),intent(inout)          :: sMul(:)   ! NOTE: qp   ! state vector multiplier (used in the residual calculations)
+  ! input: data structures
+  type(model_options),intent(in)  :: model_decisions(:)     ! model decisions
+  type(zLookup),intent(in)        :: lookup_data            ! lookup tables
+  type(var_i),        intent(in)  :: type_data              ! type of vegetation and soil
+  type(var_d),        intent(in)  :: attr_data              ! spatial attributes
+  type(var_dlength),  intent(in)  :: mpar_data              ! model parameters
+  type(var_d),        intent(in)  :: forc_data              ! model forcing data
+  type(var_dlength),  intent(in)  :: bvar_data              ! model variables for the local basin
+  type(var_dlength),  intent(in)  :: prog_data              ! prognostic variables for a local HRU
+  ! output: data structures
+  type(var_ilength),intent(inout) :: indx_data              ! indices defining model states and layers
+  type(var_dlength),intent(inout) :: diag_data              ! diagnostic variables for a local HRU
+  type(var_dlength),intent(inout) :: flux_data              ! model fluxes for a local HRU
+  type(var_dlength),intent(inout) :: deriv_data             ! derivatives in model fluxes w.r.t. relevant state variables
+  ! input-output: baseflow
+  real(rkind),intent(out)         :: dBaseflow_dMatric(:,:) ! derivative in baseflow w.r.t. matric head (s-1)
+  ! output: flux and residual vectors
+  real(rkind),intent(out)         :: scalarCanopyTempTrial     ! trial value for temperature of the vegetation canopy (K)
+  real(rkind),intent(in)          :: scalarCanopyTempPrev      ! previous value for temperature of the vegetation canopy (K)
+  real(rkind),intent(out)         :: scalarCanopyIceTrial      ! trial value for mass of ice on the vegetation canopy (kg m-2)
+  real(rkind),intent(in)          :: scalarCanopyIcePrev       ! previous value for mass of ice on the vegetation canopy (kg m-2)
+  real(rkind),intent(out)         :: scalarCanopyLiqTrial      ! trial value for mass of ice on the vegetation canopy (kg m-2)
+  real(rkind),intent(in)          :: scalarCanopyLiqPrev       ! previous value for mass of ice on the vegetation canopy (kg m-2)
+  real(rkind),intent(out)         :: scalarCanopyEnthalpyTrial ! trial value for enthalpy of the vegetation canopy (J m-3)
+  real(rkind),intent(in)          :: scalarCanopyEnthalpyPrev  ! previous value of enthalpy of the vegetation canopy (J m-3)
+  real(rkind),intent(out)         :: mLayerTempTrial(:)        ! trial vector of layer temperature (K)
+  real(rkind),intent(in)          :: mLayerTempPrev(:)
+  real(rkind),intent(out)         :: mLayerMatricHeadLiqTrial(:)  ! trial value for liquid water matric potential (m)
+  real(rkind),intent(out)         :: mLayerMatricHeadTrial(:)  ! trial value for total water matric potential (m)
+  real(rkind),intent(in)          :: mLayerMatricHeadPrev(:) ! value for total water matric potential (m)
+  real(rkind),intent(out)         :: mLayerVolFracWatTrial(:)  ! trial vector of volumetric total water content (-)
+  real(rkind),intent(in)          :: mLayerVolFracWatPrev(:) ! vector of volumetric total water content (-)
+  real(rkind),intent(out)         :: mLayerVolFracIceTrial(:)  ! trial vector of volumetric ice water content (-)
+  real(rkind),intent(in)          :: mLayerVolFracIcePrev(:) ! vector of volumetric ice water content (-)
+  real(rkind),intent(out)         :: mLayerVolFracLiqTrial(:)  ! trial vector of volumetric liquid water content (-)
+  real(rkind),intent(in)          :: mLayerVolFracLiqPrev(:) ! vector of volumetric liquid water content (-)
+  real(rkind),intent(out)         :: scalarAquiferStorageTrial ! trial value of storage of water in the aquifer (m)
+  real(rkind),intent(in)          :: scalarAquiferStoragePrev  ! value of storage of water in the aquifer (m)
+  real(rkind),intent(in)          :: mLayerEnthalpyPrev(:)    ! vector of enthalpy for snow+soil layers (J m-3)
+  real(rkind),intent(out)         :: mLayerEnthalpyTrial(:)   ! trial vector of enthalpy for snow+soil layers (J m-3)
+  integer(i4b),intent(inout)      :: ixSaturation              ! index of the lowest saturated layer
+  logical(lgt),intent(out)        :: feasible               ! flag to denote the feasibility of the solution
+  real(rkind),intent(out)         :: fluxVec(:)             ! flux vector
+  real(rkind),intent(out)         :: resSink(:)             ! sink terms on the RHS of the flux equation
+  real(qp),intent(out)            :: resVec(:) ! NOTE: qp   ! residual vector
+  ! output: error control
+  integer(i4b),intent(out)        :: err                    ! error code
+  character(*),intent(out)        :: message                ! error message
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! local variables
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! state variables
+  real(rkind)                        :: scalarCanairTempTrial     ! trial value for temperature of the canopy air space (K)
+  real(rkind)                        :: scalarCanopyWatTrial      ! trial value for liquid water storage in the canopy (kg m-2)
+    ! derivative of state variables
+  real(rkind)                        :: scalarCanairTempPrime     ! derivative value for temperature of the canopy air space (K)
+  real(rkind)                        :: scalarCanopyTempPrime     ! derivative value for temperature of the vegetation canopy (K)
+  real(rkind)                        :: scalarCanopyWatPrime      ! derivative value for liquid water storage in the canopy (kg m-2)
+  real(rkind),dimension(nLayers)     :: mLayerTempPrime           ! derivative value for temperature of layers in the snow and soil domains (K)
+  real(rkind),dimension(nLayers)     :: mLayerVolFracWatPrime     ! derivative value for volumetric fraction of total water (-)
+  real(rkind),dimension(nSoil)       :: mLayerMatricHeadPrime     ! derivative value for total water matric potential (m)
+  real(rkind),dimension(nSoil)       :: mLayerMatricHeadLiqPrime  ! derivative value for liquid water matric potential (m)
+  real(rkind)                        :: scalarAquiferStoragePrime ! derivative value of storage of water in the aquifer (m)
+  ! derivative of diagnostic variables
+  real(rkind)                        :: scalarCanopyLiqPrime      ! derivative value for mass of liquid water on the vegetation canopy (kg m-2)
+  real(rkind)                        :: scalarCanopyIcePrime      ! derivative value for mass of ice on the vegetation canopy (kg m-2)
+  real(rkind),dimension(nLayers)     :: mLayerVolFracLiqPrime     ! derivative value for volumetric fraction of liquid water (-)
+  real(rkind),dimension(nLayers)     :: mLayerVolFracIcePrime     ! derivative value for volumetric fraction of ice (-)
+  ! enthalpy
+  real(rkind)                        :: scalarCanairEnthalpy      ! enthalpy of the canopy air space (J m-3)
+  real(rkind),dimension(nLayers)     :: mLayerEnthalpyPrime       ! enthalpy of each snow+soil layer (J m-3)
+  ! other local variables
+  integer(i4b)                       :: iLayer                    ! index of model layer in the snow+soil domain
+  integer(i4b)                       :: jState(1)                 ! index of model state for the scalar solution within the soil domain
+  integer(i4b)                       :: ixBeg,ixEnd               ! index of indices for the soil compression routine
+  integer(i4b),parameter             :: ixVegVolume=1             ! index of the desired vegetation control volumne (currently only one veg layer)
+  real(rkind)                        :: xMin,xMax                 ! minimum and maximum values for water content
+  real(rkind),parameter              :: canopyTempMax=500._rkind  ! expected maximum value for the canopy temperature (K)
+  character(LEN=256)                 :: cmessage                  ! error message of downwind routine
+  real(rkind)                        :: scalarCanopyCmTrial       ! trial value of Cm for the canopy
+  real(rkind),dimension(nLayers)     :: mLayerCmTrial             ! trial vector of Cm for snow+soil
+  logical(lgt),parameter             :: updateCp=.true.           ! flag to indicate if we update Cp at each step
+  logical(lgt),parameter             :: needCm=.false.            ! flag to indicate if the energy equation contains Cm = dH_T/dTheta_m
+
+
+
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! association to variables in the data structures
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  associate(&
+  ! model decisions
+  ixRichards              => model_decisions(iLookDECISIONS%f_Richards)%iDecision   ,&  ! intent(in):  [i4b]   index of the form of Richards' equation
+  ! snow parameters
+  snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)         ,&  ! intent(in):  [dp]    scaling parameter for the snow freezing curve (K-1)
+  ! soil parameters
+  theta_sat               => mpar_data%var(iLookPARAM%theta_sat)%dat                ,&  ! intent(in):  [dp(:)] soil porosity (-)
+  specificStorage         => mpar_data%var(iLookPARAM%specificStorage)%dat(1)       ,&  ! intent(in):  [dp]    specific storage coefficient (m-1)
+  theta_res               => mpar_data%var(iLookPARAM%theta_res)%dat                ,&  ! intent(in):  [dp(:)] residual volumetric water content (-)
+  ! canopy and layer depth
+  canopyDepth             => diag_data%var(iLookDIAG%scalarCanopyDepth)%dat(1)      ,&  ! intent(in):  [dp   ] canopy depth (m)
+  mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,&  ! intent(in):  [dp(:)] depth of each layer in the snow-soil sub-domain (m)
+  ! model state variables
+  scalarSfcMeltPond       => prog_data%var(iLookPROG%scalarSfcMeltPond)%dat(1)      ,&  ! intent(in):  [dp]    ponded water caused by melt of the "snow without a layer" (kg m-2)
+  mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,&  ! intent(in):  [dp(:)] volumetric fraction of ice (-)
+  ! soil compression
+  scalarSoilCompress      => diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1)     ,&  ! intent(in): [dp]    total change in storage associated with compression of the soil matrix (kg m-2)
+  mLayerCompress          => diag_data%var(iLookDIAG%mLayerCompress)%dat            ,&  ! intent(in): [dp(:)] change in storage associated with compression of the soil matrix (-)
+  ! derivatives
+  dVolTot_dPsi0           => deriv_data%var(iLookDERIV%dVolTot_dPsi0)%dat           ,&  ! intent(in): [dp(:)] derivative in total water content w.r.t. total water matric potential
+  dCompress_dPsi          => deriv_data%var(iLookDERIV%dCompress_dPsi)%dat          ,&  ! intent(in): [dp(:)] derivative in compressibility w.r.t. matric head (m-1)
+  ! mapping
+  ixMapFull2Subset        => indx_data%var(iLookINDEX%ixMapFull2Subset)%dat         ,&  ! intent(in): [i4b(:)] mapping of full state vector to the state subset
+  ixControlVolume         => indx_data%var(iLookINDEX%ixControlVolume)%dat          ,&  ! intent(in): [i4b(:)] index of control volume for different domains (veg, snow, soil)
+  ! indices
+  ixCasNrg                => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy air space energy state variable (nrg)
+  ixVegNrg                => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy energy state variable (nrg)
+  ixVegHyd                => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)              ,&  ! intent(in): [i4b]    index of canopy hydrology state variable (mass)
+  ixSnowOnlyNrg           => indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat            ,&  ! intent(in): [i4b(:)] indices for energy states in the snow subdomain
+  ixSnowSoilHyd           => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat            ,&  ! intent(in): [i4b(:)] indices for hydrology states in the snow+soil subdomain
+  ixStateType             => indx_data%var(iLookINDEX%ixStateType)%dat              ,&  ! intent(in): [i4b(:)] indices defining the type of the state (iname_nrgLayer...)
+  ixHydCanopy             => indx_data%var(iLookINDEX%ixHydCanopy)%dat              ,&  ! intent(in): [i4b(:)] index of the hydrology states in the canopy domain
+  ixHydType               => indx_data%var(iLookINDEX%ixHydType)%dat                ,&  ! intent(in): [i4b(:)] index of the type of hydrology states in snow+soil domain
+  layerType               => indx_data%var(iLookINDEX%layerType)%dat                 ,&  ! intent(in): [i4b(:)] layer type (iname_soil or iname_snow)
+  heatCapVegTrial         =>  diag_data%var(iLookDIAG%scalarBulkVolHeatCapVeg)%dat(1) ,& ! intent(out): volumetric heat capacity of vegetation canopy
+  mLayerHeatCapTrial      =>  diag_data%var(iLookDIAG%mLayerVolHtCapBulk)%dat         &  ! intent(out): heat capacity for snow and soil
+  ) ! association to variables in the data structures
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! initialize error control
+  err=0; message="eval8DAE/"
+  feasible=.true.
+
+  ! check the feasibility of the solution
+  if (checkFeas) then
+    ! check that the canopy air space temperature is reasonable
+    if(ixCasNrg/=integerMissing)then
+      if(stateVec(ixCasNrg) > canopyTempMax) feasible=.false.
+      if(stateVec(ixCasNrg) > canopyTempMax) message=trim(message)//'canopy air space temp high,'
+      if(.not.feasible) write(*,'(a,1x,L1,1x,10(f20.10,1x))') 'feasible, max, stateVec( ixCasNrg )', feasible, canopyTempMax, stateVec(ixCasNrg)
+    endif
 
-  ! check that the canopy temperature is reasonable
-  if(ixVegNrg/=integerMissing)then
-   if(stateVec(ixVegNrg) > canopyTempMax) feasible=.false.
-   if(stateVec(ixVegNrg) > canopyTempMax) message=trim(message)//'canopy temp high,'
-   if(.not.feasible) write(*,'(a,1x,L1,1x,10(f20.10,1x))') 'feasible, max, stateVec( ixVegNrg )', feasible, canopyTempMax, stateVec(ixVegNrg)
-  endif
+    ! check that the canopy temperature is reasonable
+    if(ixVegNrg/=integerMissing)then
+      if(stateVec(ixVegNrg) > canopyTempMax) feasible=.false.
+      if(stateVec(ixVegNrg) > canopyTempMax) message=trim(message)//'canopy temp high,'
+      if(.not.feasible) write(*,'(a,1x,L1,1x,10(f20.10,1x))') 'feasible, max, stateVec( ixVegNrg )', feasible, canopyTempMax, stateVec(ixVegNrg)
+    endif
 
-  ! check canopy liquid water is not negative
-  if(ixVegHyd/=integerMissing)then
-   if(stateVec(ixVegHyd) < 0._rkind) feasible=.false.
-   if(stateVec(ixVegHyd) < 0._rkind) message=trim(message)//'canopy water negative,'
-   if(.not.feasible) write(*,'(a,1x,L1,1x,10(f20.10,1x))') 'feasible, min, stateVec( ixVegHyd )', feasible, 0._rkind, stateVec(ixVegHyd)
-  end if
-
-  ! check snow temperature is below freezing
-  if(count(ixSnowOnlyNrg/=integerMissing)>0)then
-   if(any(stateVec( pack(ixSnowOnlyNrg,ixSnowOnlyNrg/=integerMissing) ) > Tfreeze)) feasible=.false.
-   if(any(stateVec( pack(ixSnowOnlyNrg,ixSnowOnlyNrg/=integerMissing) ) > Tfreeze)) message=trim(message)//'snow temp above freezing,'
-   do iLayer=1,nSnow
-    if(.not.feasible) write(*,'(a,1x,i4,1x,L1,1x,10(f20.10,1x))') 'iLayer, feasible, max, stateVec( ixSnowOnlyNrg(iLayer) )', iLayer, feasible, Tfreeze, stateVec( ixSnowOnlyNrg(iLayer) )
-   enddo
-  endif
+    ! check canopy liquid water is not negative
+    if(ixVegHyd/=integerMissing)then
+      if(stateVec(ixVegHyd) < 0._rkind) feasible=.false.
+      if(stateVec(ixVegHyd) < 0._rkind) message=trim(message)//'canopy water negative,'
+      if(.not.feasible) write(*,'(a,1x,L1,1x,10(f20.10,1x))') 'feasible, min, stateVec( ixVegHyd )', feasible, 0._rkind, stateVec(ixVegHyd)
+    end if
+
+    ! check snow temperature is below freezing
+    if(count(ixSnowOnlyNrg/=integerMissing)>0)then
+      if(any(stateVec( pack(ixSnowOnlyNrg,ixSnowOnlyNrg/=integerMissing) ) > Tfreeze)) feasible=.false.
+      if(any(stateVec( pack(ixSnowOnlyNrg,ixSnowOnlyNrg/=integerMissing) ) > Tfreeze)) message=trim(message)//'snow temp above freezing,'
+      do iLayer=1,nSnow
+        if(.not.feasible) write(*,'(a,1x,i4,1x,L1,1x,10(f20.10,1x))') 'iLayer, feasible, max, stateVec( ixSnowOnlyNrg(iLayer) )', iLayer, feasible, Tfreeze, stateVec( ixSnowOnlyNrg(iLayer) )
+      end do
+    endif
 
- ! loop through non-missing hydrology state variables in the snow+soil domain
-  do concurrent (iLayer=1:nLayers,ixSnowSoilHyd(iLayer)/=integerMissing)
+    ! loop through non-missing hydrology state variables in the snow+soil domain
+    do concurrent (iLayer=1:nLayers,ixSnowSoilHyd(iLayer)/=integerMissing)
+
+      ! check the minimum and maximum water constraints
+      if(ixHydType(iLayer)==iname_watLayer .or. ixHydType(iLayer)==iname_liqLayer)then
+
+        ! --> minimum
+        if (layerType(iLayer) == iname_soil) then
+          xMin = theta_res(iLayer-nSnow)
+        else
+          xMin = 0._rkind
+        endif
+
+        ! --> maximum
+        select case( layerType(iLayer) )
+          case(iname_snow); xMax = merge(iden_ice,  1._rkind - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
+          case(iname_soil); xMax = merge(theta_sat(iLayer-nSnow), theta_sat(iLayer-nSnow) - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
+        end select
+
+        ! --> check
+        if(stateVec( ixSnowSoilHyd(iLayer) ) < xMin .or. stateVec( ixSnowSoilHyd(iLayer) ) > xMax) feasible=.false.
+        if(stateVec( ixSnowSoilHyd(iLayer) ) < xMin .or. stateVec( ixSnowSoilHyd(iLayer) ) > xMax)  message=trim(message)//'layer water outside bounds,'
+        if(.not.feasible) write(*,'(a,1x,i4,1x,L1,1x,10(f20.10,1x))') 'iLayer, feasible, stateVec( ixSnowSoilHyd(iLayer) ), xMin, xMax = ', iLayer, feasible, stateVec( ixSnowSoilHyd(iLayer) ), xMin, xMax
+
+      endif  ! if water states
+
+    end do  ! loop through non-missing hydrology state variables in the snow+soil domain
+
+    ! early return for non-feasible solutions
+    if(.not.feasible)then
+      fluxVec(:) = realMissing
+      resVec(:)  = quadMissing
+      message=trim(message)//'non-feasible'
+      err=20; return
+    end if
+
+  end if ! ( feasibility check )
+
+  ! get the start and end indices for the soil compression calculations
+  if(scalarSolution)then
+    jState = pack(ixControlVolume, ixMapFull2Subset/=integerMissing)
+    ixBeg  = jState(1)
+    ixEnd  = jState(1)
+  else
+    ixBeg  = 1
+    ixEnd  = nSoil
+  endif
 
-   ! check the minimum and maximum water constraints
-   if(ixHydType(iLayer)==iname_watLayer .or. ixHydType(iLayer)==iname_liqLayer)then
+    ! initialize to state variable from the last update
+  scalarCanopyTempTrial     = scalarCanopyTempPrev
+  scalarCanopyLiqTrial      = scalarCanopyLiqPrev
+  scalarCanopyIceTrial      = scalarCanopyIcePrev
+  mLayerTempTrial           = mLayerTempPrev
+  mLayerVolFracWatTrial     = mLayerVolFracWatPrev
+  mLayerVolFracLiqTrial     = mLayerVolFracLiqPrev
+  mLayerVolFracIceTrial     = mLayerVolFracIcePrev
+  mLayerMatricHeadTrial     = mLayerMatricHeadPrev
+  scalarAquiferStorageTrial = scalarAquiferStoragePrev
+
+  ! extract variables from the model state vector
+  call varExtract2(&
+                  ! input
+                  stateVec,                 & ! intent(in):    model state vector (mixed units)
+                  diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
+                  prog_data,                & ! intent(in):    model prognostic variables for a local HRU
+                  indx_data,                & ! intent(in):    indices defining model states and layers
+                  ! output: variables for the vegetation canopy
+                  scalarCanairTempTrial,    & ! intent(out):   trial value of canopy air temperature (K)
+                  scalarCanopyTempTrial,    & ! intent(out):   trial value of canopy temperature (K)
+                  scalarCanopyWatTrial,     & ! intent(out):   trial value of canopy total water (kg m-2)
+                  scalarCanopyLiqTrial,     & ! intent(out):   trial value of canopy liquid water (kg m-2)
+                  ! output: variables for the snow-soil domain
+                  mLayerTempTrial,          & ! intent(out):   trial vector of layer temperature (K)
+                  mLayerVolFracWatTrial,    & ! intent(out):   trial vector of volumetric total water content (-)
+                  mLayerVolFracLiqTrial,    & ! intent(out):   trial vector of volumetric liquid water content (-)
+                  mLayerMatricHeadTrial,    & ! intent(out):   trial vector of total water matric potential (m)
+                  mLayerMatricHeadLiqTrial, & ! intent(out):   trial vector of liquid water matric potential (m)
+                  ! output: variables for the aquifer
+                  scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
+                  ! output: error control
+                  err,cmessage)               ! intent(out):   error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+
+
+
+  call varExtractSundials(&
+                  ! input
+                  stateVecPrime,            & ! intent(in):    derivative of model state vector (mixed units)
+                  diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
+                  prog_data,                & ! intent(in):    model prognostic variables for a local HRU
+                  indx_data,                & ! intent(in):    indices defining model states and layers
+                  ! output: variables for the vegetation canopy
+                  scalarCanairTempPrime,    & ! intent(out):   derivative of canopy air temperature (K)
+                  scalarCanopyTempPrime,    & ! intent(out):   derivative of canopy temperature (K)
+                  scalarCanopyWatPrime,     & ! intent(out):   derivative of canopy total water (kg m-2)
+                  scalarCanopyLiqPrime,     & ! intent(out):   derivative of canopy liquid water (kg m-2)
+                  ! output: variables for the snow-soil domain
+                  mLayerTempPrime,          & ! intent(out):   derivative of layer temperature (K)
+                  mLayerVolFracWatPrime,    & ! intent(out):   derivative of volumetric total water content (-)
+                  mLayerVolFracLiqPrime,    & ! intent(out):   derivative of volumetric liquid water content (-)
+                  mLayerMatricHeadPrime,    & ! intent(out):   derivative of total water matric potential (m)
+                  mLayerMatricHeadLiqPrime, & ! intent(out):   derivative of liquid water matric potential (m)
+                  ! output: variables for the aquifer
+                  scalarAquiferStoragePrime,& ! intent(out):   derivative of storage of water in the aquifer (m)
+                  ! output: error control
+                  err,cmessage)               ! intent(out):   error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+
+
+  call updateVarsSundials(&
+                  ! input
+                  dt_cur,                                    &
+                  .false.,                                   & ! intent(in):    logical flag to adjust temperature to account for the energy
+                  mpar_data,                                 & ! intent(in):    model parameters for a local HRU
+                  indx_data,                                 & ! intent(in):    indices defining model states and layers
+                  prog_data,                                 & ! intent(in):    model prognostic variables for a local HRU
+                  mLayerVolFracWatPrev,                      & ! intent(in)
+                  mLayerMatricHeadPrev,                      & ! intent(in)
+                  diag_data,                                 & ! intent(inout): model diagnostic variables for a local HRU
+                  deriv_data,                                & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
+                  ! output: variables for the vegetation canopy
+                  scalarCanopyTempTrial,                     & ! intent(inout): trial value of canopy temperature (K)
+                  scalarCanopyWatTrial,                      & ! intent(inout): trial value of canopy total water (kg m-2)
+                  scalarCanopyLiqTrial,                      & ! intent(inout): trial value of canopy liquid water (kg m-2)
+                  scalarCanopyIceTrial,                      & ! intent(inout): trial value of canopy ice content (kg m-2)
+                  scalarCanopyTempPrime,                     & ! intent(inout): trial value of canopy temperature (K)
+                  scalarCanopyWatPrime,                      & ! intent(inout): trial value of canopy total water (kg m-2)
+                  scalarCanopyLiqPrime,                      & ! intent(inout): trial value of canopy liquid water (kg m-2)
+                  scalarCanopyIcePrime,                      & ! intent(inout): trial value of canopy ice content (kg m-2)
+                  ! output: variables for the snow-soil domain
+                  mLayerTempTrial,                           & ! intent(inout): trial vector of layer temperature (K)
+                  mLayerVolFracWatTrial,                     & ! intent(inout): trial vector of volumetric total water content (-)
+                  mLayerVolFracLiqTrial,                     & ! intent(inout): trial vector of volumetric liquid water content (-)
+                  mLayerVolFracIceTrial,                     & ! intent(inout): trial vector of volumetric ice water content (-)
+                  mLayerMatricHeadTrial,                     & ! intent(inout): trial vector of total water matric potential (m)
+                  mLayerMatricHeadLiqTrial,                  & ! intent(inout): trial vector of liquid water matric potential (m)
+                  mLayerTempPrime,                           & !
+                  mLayerVolFracWatPrime,                     & ! intent(inout): Prime vector of volumetric total water content (-)
+                  mLayerVolFracLiqPrime,                     & ! intent(inout): Prime vector of volumetric liquid water content (-)
+                  mLayerVolFracIcePrime,                     & !
+                  mLayerMatricHeadPrime,                     & ! intent(inout): Prime vector of total water matric potential (m)
+                  mLayerMatricHeadLiqPrime,                  & ! intent(inout): Prime vector of liquid water matric potential (m)
+                  ! output: error control
+                  err,cmessage)                                ! intent(out):   error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+
+
+  ! print the water content
+  if(globalPrintFlag)then
+    if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracWatTrial = ', mLayerVolFracWatTrial(iJac1:min(iJac2,nSnow))
+    if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracLiqTrial = ', mLayerVolFracLiqTrial(iJac1:min(iJac2,nSnow))
+    if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracIceTrial = ', mLayerVolFracIceTrial(iJac1:min(iJac2,nSnow))
+  endif
 
-    ! --> minimum
-    if (layerType(iLayer) == iname_soil) then
-     xMin = theta_res(iLayer-nSnow)
-    else
-     xMin = 0._rkind
-    endif
 
-    ! --> maximum
-    select case( layerType(iLayer) )
-     case(iname_snow); xMax = merge(iden_ice,  1._rkind - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
-     case(iname_soil); xMax = merge(theta_sat(iLayer-nSnow), theta_sat(iLayer-nSnow) - mLayerVolFracIce(iLayer), ixHydType(iLayer)==iname_watLayer)
-    end select
-
-    ! --> check
-    if(stateVec( ixSnowSoilHyd(iLayer) ) < xMin .or. stateVec( ixSnowSoilHyd(iLayer) ) > xMax) feasible=.false.
-    if(stateVec( ixSnowSoilHyd(iLayer) ) < xMin .or. stateVec( ixSnowSoilHyd(iLayer) ) > xMax)  message=trim(message)//'layer water outside bounds,'
-    if(.not.feasible) write(*,'(a,1x,i4,1x,L1,1x,10(f20.10,1x))') 'iLayer, feasible, stateVec( ixSnowSoilHyd(iLayer) ), xMin, xMax = ', iLayer, feasible, stateVec( ixSnowSoilHyd(iLayer) ), xMin, xMax
-
-   endif  ! if water states
-
-  end do  ! loop through non-missing hydrology state variables in the snow+soil domain
-
-  ! early return for non-feasible solutions
-  if(.not.feasible)then
-   fluxVec(:) = realMissing
-   resVec(:)  = quadMissing
-   message=trim(message)//'non-feasible'
-   err=20; return
-  end if
-
- end if ! ( feasibility check )
-
- ! get the start and end indices for the soil compression calculations
- if(scalarSolution)then
-  jState = pack(ixControlVolume, ixMapFull2Subset/=integerMissing)
-  ixBeg  = jState(1)
-  ixEnd  = jState(1)
- else
-  ixBeg  = 1
-  ixEnd  = nSoil
- endif
-
-  ! initialize to state variable from the last update
- scalarCanopyTempTrial     = scalarCanopyTempPrev
- scalarCanopyLiqTrial      = scalarCanopyLiqPrev
- scalarCanopyIceTrial      = scalarCanopyIcePrev
- mLayerTempTrial           = mLayerTempPrev
- mLayerVolFracWatTrial     = mLayerVolFracWatPrev
- mLayerVolFracLiqTrial     = mLayerVolFracLiqPrev
- mLayerVolFracIceTrial     = mLayerVolFracIcePrev
- mLayerMatricHeadTrial     = mLayerMatricHeadPrev
- scalarAquiferStorageTrial = scalarAquiferStoragePrev
-
- ! extract variables from the model state vector
- call varExtract2(&
-                 ! input
-                 stateVec,                 & ! intent(in):    model state vector (mixed units)
-                 diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
-                 prog_data,                & ! intent(in):    model prognostic variables for a local HRU
-                 indx_data,                & ! intent(in):    indices defining model states and layers
-                 ! output: variables for the vegetation canopy
-                 scalarCanairTempTrial,    & ! intent(out):   trial value of canopy air temperature (K)
-                 scalarCanopyTempTrial,    & ! intent(out):   trial value of canopy temperature (K)
-                 scalarCanopyWatTrial,     & ! intent(out):   trial value of canopy total water (kg m-2)
-                 scalarCanopyLiqTrial,     & ! intent(out):   trial value of canopy liquid water (kg m-2)
-                 ! output: variables for the snow-soil domain
-                 mLayerTempTrial,          & ! intent(out):   trial vector of layer temperature (K)
-                 mLayerVolFracWatTrial,    & ! intent(out):   trial vector of volumetric total water content (-)
-                 mLayerVolFracLiqTrial,    & ! intent(out):   trial vector of volumetric liquid water content (-)
-                 mLayerMatricHeadTrial,    & ! intent(out):   trial vector of total water matric potential (m)
-                 mLayerMatricHeadLiqTrial, & ! intent(out):   trial vector of liquid water matric potential (m)
-                 ! output: variables for the aquifer
-                 scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
-                 ! output: error control
-                 err,cmessage)               ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
-
-
- call varExtractSundials(&
-                 ! input
-                 stateVecPrime,            & ! intent(in):    derivative of model state vector (mixed units)
-                 diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
-                 prog_data,                & ! intent(in):    model prognostic variables for a local HRU
-                 indx_data,                & ! intent(in):    indices defining model states and layers
-                 ! output: variables for the vegetation canopy
-                 scalarCanairTempPrime,    & ! intent(out):   derivative of canopy air temperature (K)
-                 scalarCanopyTempPrime,    & ! intent(out):   derivative of canopy temperature (K)
-                 scalarCanopyWatPrime,     & ! intent(out):   derivative of canopy total water (kg m-2)
-                 scalarCanopyLiqPrime,     & ! intent(out):   derivative of canopy liquid water (kg m-2)
-                 ! output: variables for the snow-soil domain
-                 mLayerTempPrime,          & ! intent(out):   derivative of layer temperature (K)
-                 mLayerVolFracWatPrime,    & ! intent(out):   derivative of volumetric total water content (-)
-                 mLayerVolFracLiqPrime,    & ! intent(out):   derivative of volumetric liquid water content (-)
-                 mLayerMatricHeadPrime,    & ! intent(out):   derivative of total water matric potential (m)
-                 mLayerMatricHeadLiqPrime, & ! intent(out):   derivative of liquid water matric potential (m)
-                 ! output: variables for the aquifer
-                 scalarAquiferStoragePrime,& ! intent(out):   derivative of storage of water in the aquifer (m)
-                 ! output: error control
-                 err,cmessage)               ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
-
- call updateVarsSundials(&
-                 ! input
-                 dt_cur,                                    &
-                 .false.,                                   & ! intent(in):    logical flag to adjust temperature to account for the energy
-                 mpar_data,                                 & ! intent(in):    model parameters for a local HRU
-                 indx_data,                                 & ! intent(in):    indices defining model states and layers
-                 prog_data,                                 & ! intent(in):    model prognostic variables for a local HRU
-                 mLayerVolFracWatPrev,                      & ! intent(in)
-                 mLayerMatricHeadPrev,                      & ! intent(in)
-                 diag_data,                                 & ! intent(inout): model diagnostic variables for a local HRU
-                 deriv_data,                                & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
-                 ! output: variables for the vegetation canopy
-                 scalarCanopyTempTrial,                     & ! intent(inout): trial value of canopy temperature (K)
-                 scalarCanopyWatTrial,                      & ! intent(inout): trial value of canopy total water (kg m-2)
-                 scalarCanopyLiqTrial,                      & ! intent(inout): trial value of canopy liquid water (kg m-2)
-                 scalarCanopyIceTrial,                      & ! intent(inout): trial value of canopy ice content (kg m-2)
-                 scalarCanopyTempPrime,                     & ! intent(inout): trial value of canopy temperature (K)
-                 scalarCanopyWatPrime,                      & ! intent(inout): trial value of canopy total water (kg m-2)
-                 scalarCanopyLiqPrime,                      & ! intent(inout): trial value of canopy liquid water (kg m-2)
-                 scalarCanopyIcePrime,                      & ! intent(inout): trial value of canopy ice content (kg m-2)
-                 ! output: variables for the snow-soil domain
-                 mLayerTempTrial,                           & ! intent(inout): trial vector of layer temperature (K)
-                 mLayerVolFracWatTrial,                     & ! intent(inout): trial vector of volumetric total water content (-)
-                 mLayerVolFracLiqTrial,                     & ! intent(inout): trial vector of volumetric liquid water content (-)
-                 mLayerVolFracIceTrial,                     & ! intent(inout): trial vector of volumetric ice water content (-)
-                 mLayerMatricHeadTrial,                     & ! intent(inout): trial vector of total water matric potential (m)
-                 mLayerMatricHeadLiqTrial,                  & ! intent(inout): trial vector of liquid water matric potential (m)
-                 mLayerTempPrime,                           & !
-                 mLayerVolFracWatPrime,                     & ! intent(inout): Prime vector of volumetric total water content (-)
-                 mLayerVolFracLiqPrime,                     & ! intent(inout): Prime vector of volumetric liquid water content (-)
-                 mLayerVolFracIcePrime,                     & !
-                 mLayerMatricHeadPrime,                     & ! intent(inout): Prime vector of total water matric potential (m)
-                 mLayerMatricHeadLiqPrime,                  & ! intent(inout): Prime vector of liquid water matric potential (m)
-                 ! output: error control
-                 err,cmessage)                                ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
-
- ! print the water content
- if(globalPrintFlag)then
-  if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracWatTrial = ', mLayerVolFracWatTrial(iJac1:min(iJac2,nSnow))
-  if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracLiqTrial = ', mLayerVolFracLiqTrial(iJac1:min(iJac2,nSnow))
-  if(iJac1<nSnow) write(*,'(a,10(f16.10,1x))') 'mLayerVolFracIceTrial = ', mLayerVolFracIceTrial(iJac1:min(iJac2,nSnow))
- endif
-
-
- if(updateCp)then
- 	! *** compute volumetric heat capacity C_p
-  if(model_decisions(iLookDECISIONS%howHeatCap)%iDecision == enthalpyFD)then
-  ! compute H_T
-    call t2enthalpy_T(&
-                      ! input: data structures
-                      diag_data,                   & ! intent(in):  model diagnostic variables for a local HRU
-                      mpar_data,                   & ! intent(in):  parameter data structure
-                      indx_data,                   & ! intent(in):  model indices
-                      lookup_data,                 & ! intent(in):  lookup table data structure
-                      ! input: state variables for the vegetation canopy
-                      scalarCanairTempTrial,       & ! intent(in):  trial value of canopy air temperature (K)
-                      scalarCanopyTempTrial,       & ! intent(in):  trial value of canopy temperature (K)
-                      scalarCanopyWatTrial,        & ! intent(in):  trial value of canopy total water (kg m-2)
-                      scalarCanopyIceTrial,        & ! intent(in):  trial value for canopy ice content (kg m-2)
-                      ! input: variables for the snow-soil domain
-                      mLayerTempTrial,             & ! intent(in):  trial vector of layer temperature (K)
-                      mLayerVolFracWatTrial,       & ! intent(in):  trial vector of volumetric total water content (-)
-                      mLayerMatricHeadTrial,       & ! intent(in):  trial vector of total water matric potential (m)
-                      mLayerVolFracIceTrial,       & ! intent(in):  trial vector of volumetric fraction of ice (-)
-                      ! output: enthalpy
-                      scalarCanairEnthalpy,        & ! intent(out):  enthalpy of the canopy air space (J m-3)
-                      scalarCanopyEnthalpyTrial,   & ! intent(out):  enthalpy of the vegetation canopy (J m-3)
-                      mLayerEnthalpyTrial,         & ! intent(out):  enthalpy of each snow+soil layer (J m-3)
-                      ! output: error control
-                      err,cmessage)                  ! intent(out): error control
-    if(err/=0)then; message=trim(message)//trim(cmessage); return; endif
-
-    ! *** compute volumetric heat capacity C_p = dH_T/dT
-    call computHeatCap(&
-                        ! input: control variables
-                        nLayers,                 	 & ! intent(in): number of layers (soil+snow)
-                        computeVegFlux,         	 & ! intent(in): flag to denote if computing the vegetation flux
-                        canopyDepth,             	 & ! intent(in): canopy depth (m)
-                        ! input data structures
-                        mpar_data,               	 & ! intent(in): model parameters
-                        indx_data,               	 & ! intent(in): model layer indices
-                        diag_data,               	 & ! intent(in): model diagnostic variables for a local HRU
-                        ! input: state variables
-                        scalarCanopyIceTrial,      & ! intent(in): trial value for canopy ice content (kg m-2)
-                        scalarCanopyLiqTrial,      & ! intent(in): trial value for the liquid water on the vegetation canopy (kg m-2)
-                        scalarCanopyTempTrial,   	 & ! intent(in): trial value of canopy temperature (K)
-                        scalarCanopyTempPrev,    	 & ! intent(in): previous value of canopy temperature (K)
-                        scalarCanopyEnthalpyTrial, & ! intent(in): trial enthalpy of the vegetation canopy (J m-3)
-                        scalarCanopyEnthalpyPrev,  & ! intent(in): previous enthalpy of the vegetation canopy (J m-3)
-                        mLayerVolFracIceTrial,     & ! intent(in): volumetric fraction of ice at the start of the sub-step (-)
-                        mLayerVolFracLiqTrial,     & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
-                        mLayerTempTrial,           & ! intent(in): trial temperature
-                        mLayerTempPrev,            & ! intent(in): previous temperature
-                        mLayerEnthalpyTrial,       & ! intent(in): trial enthalpy for snow and soil
-                        mLayerEnthalpyPrev,        & ! intent(in): previous enthalpy for snow and soil
-                        ! output
-                        heatCapVegTrial,           & ! intent(out): volumetric heat capacity of vegetation canopy
-                        mLayerHeatCapTrial,        & ! intent(out): heat capacity for snow and soil
+  if(updateCp)then
+    ! *** compute volumetric heat capacity C_p
+    if(model_decisions(iLookDECISIONS%howHeatCap)%iDecision == enthalpyFD)then
+      ! compute H_T
+      call t2enthalpy_T(&
+                        ! input: data structures
+                        diag_data,                   & ! intent(in):  model diagnostic variables for a local HRU
+                        mpar_data,                   & ! intent(in):  parameter data structure
+                        indx_data,                   & ! intent(in):  model indices
+                        lookup_data,                 & ! intent(in):  lookup table data structure
+                        ! input: state variables for the vegetation canopy
+                        scalarCanairTempTrial,       & ! intent(in):  trial value of canopy air temperature (K)
+                        scalarCanopyTempTrial,       & ! intent(in):  trial value of canopy temperature (K)
+                        scalarCanopyWatTrial,        & ! intent(in):  trial value of canopy total water (kg m-2)
+                        scalarCanopyIceTrial,        & ! intent(in):  trial value for canopy ice content (kg m-2)
+                        ! input: variables for the snow-soil domain
+                        mLayerTempTrial,             & ! intent(in):  trial vector of layer temperature (K)
+                        mLayerVolFracWatTrial,       & ! intent(in):  trial vector of volumetric total water content (-)
+                        mLayerMatricHeadTrial,       & ! intent(in):  trial vector of total water matric potential (m)
+                        mLayerVolFracIceTrial,       & ! intent(in):  trial vector of volumetric fraction of ice (-)
+                        ! output: enthalpy
+                        scalarCanairEnthalpy,        & ! intent(out):  enthalpy of the canopy air space (J m-3)
+                        scalarCanopyEnthalpyTrial,   & ! intent(out):  enthalpy of the vegetation canopy (J m-3)
+                        mLayerEnthalpyTrial,         & ! intent(out):  enthalpy of each snow+soil layer (J m-3)
                         ! output: error control
-                        err,cmessage)                    ! intent(out): error control
+                        err,cmessage)                  ! intent(out): error control
       if(err/=0)then; message=trim(message)//trim(cmessage); return; endif
-    ! to conserve energy compute finite difference approximation of (theta_ice)'
-    if(dt_cur > 1e-14_rkind) then
-      scalarCanopyIcePrime = ( scalarCanopyIceTrial - scalarCanopyIcePrev ) / dt_cur
-      do concurrent (iLayer=1:nLayers)
+
+      ! *** compute volumetric heat capacity C_p = dH_T/dT
+      call computHeatCap(&
+                          ! input: control variables
+                          nLayers,                    & ! intent(in): number of layers (soil+snow)
+                          computeVegFlux,             & ! intent(in): flag to denote if computing the vegetation flux
+                          canopyDepth,                & ! intent(in): canopy depth (m)
+                          ! input data structures
+                          mpar_data,                  & ! intent(in): model parameters
+                          indx_data,                  & ! intent(in): model layer indices
+                          diag_data,                  & ! intent(in): model diagnostic variables for a local HRU
+                          ! input: state variables
+                          scalarCanopyIceTrial,       & ! intent(in): trial value for canopy ice content (kg m-2)
+                          scalarCanopyLiqTrial,       & ! intent(in): trial value for the liquid water on the vegetation canopy (kg m-2)
+                          scalarCanopyTempTrial,      & ! intent(in): trial value of canopy temperature (K)
+                          scalarCanopyTempPrev,       & ! intent(in): previous value of canopy temperature (K)
+                          scalarCanopyEnthalpyTrial,  & ! intent(in): trial enthalpy of the vegetation canopy (J m-3)
+                          scalarCanopyEnthalpyPrev,   & ! intent(in): previous enthalpy of the vegetation canopy (J m-3)
+                          mLayerVolFracIceTrial,      & ! intent(in): volumetric fraction of ice at the start of the sub-step (-)
+                          mLayerVolFracLiqTrial,      & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
+                          mLayerTempTrial,            & ! intent(in): trial temperature
+                          mLayerTempPrev,             & ! intent(in): previous temperature
+                          mLayerEnthalpyTrial,        & ! intent(in): trial enthalpy for snow and soil
+                          mLayerEnthalpyPrev,         & ! intent(in): previous enthalpy for snow and soil
+                          ! output
+                          heatCapVegTrial,            & ! intent(out): volumetric heat capacity of vegetation canopy
+                          mLayerHeatCapTrial,         & ! intent(out): heat capacity for snow and soil
+                          ! output: error control
+                          err,cmessage)                    ! intent(out): error control
+        if(err/=0)then; message=trim(message)//trim(cmessage); return; endif
+        ! to conserve energy compute finite difference approximation of (theta_ice)'
+        if(dt_cur > 1e-14_rkind) then
+          scalarCanopyIcePrime = ( scalarCanopyIceTrial - scalarCanopyIcePrev ) / dt_cur
+          do concurrent (iLayer=1:nLayers)
             mLayerVolFracIcePrime(iLayer) = ( mLayerVolFracIceTrial(iLayer) - mLayerVolFracIcePrev(iLayer) ) / dt_cur
-      end do
-    endif ! if dt_cur is not too samll
-  else ! if using closed formula of heat capacity
- 	  call computHeatCapAnalytic(&
+          end do
+        endif ! if dt_cur is not too samll
+    else ! if using closed formula of heat capacity
+      call computHeatCapAnalytic(&
                        ! input: control variables
-                       computeVegFlux,          		& ! intent(in):   flag to denote if computing the vegetation flux
-                       canopyDepth,             		& ! intent(in):   canopy depth (m)
+                       computeVegFlux,                    & ! intent(in):   flag to denote if computing the vegetation flux
+                       canopyDepth,                       & ! intent(in):   canopy depth (m)
                        ! input: state variables
-                       scalarCanopyIceTrial,        & ! intent(in)
-                       scalarCanopyLiqTrial,      	& ! intent(in)
-                       mLayerVolFracIceTrial,      	& ! intent(in):   volumetric fraction of ice at the start of the sub-step (-)
-                       mLayerVolFracLiqTrial,      	& ! intent(in):   fraction of liquid water at the start of the sub-step (-)
+                       scalarCanopyIceTrial,              & ! intent(in)
+                       scalarCanopyLiqTrial,              & ! intent(in)
+                       mLayerVolFracIceTrial,             & ! intent(in):   volumetric fraction of ice at the start of the sub-step (-)
+                       mLayerVolFracLiqTrial,             & ! intent(in):   fraction of liquid water at the start of the sub-step (-)
                        ! input data structures
-                       mpar_data,               		& ! intent(in):   model parameters
-                       indx_data,               		& ! intent(in):   model layer indices
+                       mpar_data,                         & ! intent(in):   model parameters
+                       indx_data,                         & ! intent(in):   model layer indices
                        ! output
-                       heatCapVegTrial,             & ! intent(out):  volumetric heat capacity of vegetation canopy
-                       mLayerHeatCapTrial,          & ! intent(out):  volumetric heat capacity of soil and snow
+                       heatCapVegTrial,                   & ! intent(out):  volumetric heat capacity of vegetation canopy
+                       mLayerHeatCapTrial,                & ! intent(out):  volumetric heat capacity of soil and snow
                        ! output: error control
-                       err,cmessage)               		! intent(out):  error control
-  endif
+                       err,cmessage)                        ! intent(out):  error control
+    endif
 
-   ! compute multiplier of state vector
-   call computStatMult(&
-                 ! input
-                 heatCapVegTrial,                  & ! intent(in):    volumetric heat capacity of vegetation canopy
-                 mLayerHeatCapTrial,               & ! intent(in):    volumetric heat capacity of soil and snow
-                 diag_data,                        & ! intent(in):    model diagnostic variables for a local HRU
-                 indx_data,                        & ! intent(in):    indices defining model states and layers
-                 ! output
-                 sMul,                             & ! intent(out):   multiplier for state vector (used in the residual calculations)
-                 err,cmessage)                       ! intent(out):   error control
-   if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
-
-   ! update thermal conductivity
-   call computThermConduct(&
-                       ! input: control variables
-                       computeVegFlux,               & ! intent(in): flag to denote if computing the vegetation flux
-                       canopyDepth,                  & ! intent(in): canopy depth (m)
-                       ! input: state variables
-                       scalarCanopyIceTrial,         & ! intent(in)
-                       scalarCanopyLiqTrial,         & ! intent(in)
-                       mLayerVolFracIceTrial,        & ! intent(in): volumetric fraction of ice at the start of the sub-step (-)
-                       mLayerVolFracLiqTrial,        & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
-                        ! input/output: data structures
-                       mpar_data,                    & ! intent(in):    model parameters
-                       indx_data,                    & ! intent(in):    model layer indices
-                       prog_data,                    & ! intent(in):    model prognostic variables for a local HRU
-                       diag_data,                    & ! intent(inout): model diagnostic variables for a local HRU
-                       err,cmessage)               ! intent(out): error control
-   if(err/=0)then; err=55; message=trim(message)//trim(cmessage); return; end if
-
- end if ! updateCp
-
-
- if(needCm)then
-   ! compute C_m
-   call computCm(&
-                  ! input: control variables
-                  computeVegFlux,          	& ! intent(in): flag to denote if computing the vegetation flux
-                  ! input: state variables
-                  scalarCanopyTempTrial,    & ! intent(in)
-                  mLayerTempTrial,       	  & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
-                  mLayerMatricHeadTrial,    & ! intent(in)
-                  ! input data structures
-                  mpar_data,               	& ! intent(in):    model parameters
-                  indx_data,               	& ! intent(in):    model layer indices
+    ! compute multiplier of state vector
+    call computStatMult(&
+                  ! input
+                  heatCapVegTrial,                  & ! intent(in):    volumetric heat capacity of vegetation canopy
+                  mLayerHeatCapTrial,               & ! intent(in):    volumetric heat capacity of soil and snow
+                  diag_data,                        & ! intent(in):    model diagnostic variables for a local HRU
+                  indx_data,                        & ! intent(in):    indices defining model states and layers
                   ! output
-                  scalarCanopyCmTrial,      & ! intent(out):   Cm for vegetation
-                  mLayerCmTrial,            & ! intent(out):   Cm for soil and snow
-                  err,cmessage)                ! intent(out): error control
- else
-   scalarCanopyCmTrial = 0._qp
-   mLayerCmTrial = 0._qp
- end if ! needCm
-
-
- ! save the number of flux calls per time step
- indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) = indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) + 1
- ! compute the fluxes for a given state vector
- call computFlux(&
-                 ! input-output: model control
-                 nSnow,                     & ! intent(in):    number of snow layers
-                 nSoil,                     & ! intent(in):    number of soil layers
-                 nLayers,                   & ! intent(in):    total number of layers
-                 firstSubStep,              & ! intent(in):    flag to indicate if we are processing the first sub-step
-                 firstFluxCall,             & ! intent(inout): flag to denote the first flux call
-                 firstSplitOper,            & ! intent(in):    flag to indicate if we are processing the first flux call in a splitting operation
-                 computeVegFlux,            & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
-                 scalarSolution,            & ! intent(in):    flag to indicate the scalar solution
-                 requireLWBal,              & ! intent(in):    flag to indicate if we need longwave to be balanced
-                 scalarSfcMeltPond/dt,      & ! intent(in):    drainage from the surface melt pond (kg m-2 s-1)
-                 ! input: state variables
-                 scalarCanairTempTrial,     & ! intent(in):    trial value for the temperature of the canopy air space (K)
-                 scalarCanopyTempTrial,     & ! intent(in):    trial value for the temperature of the vegetation canopy (K)
-                 mLayerTempTrial,           & ! intent(in):    trial value for the temperature of each snow and soil layer (K)
-                 mLayerMatricHeadLiqTrial,  & ! intent(in):    trial value for the liquid water matric potential in each soil layer (m)
-                 mLayerMatricHeadTrial,     & ! intent(in):    trial vector of total water matric potential (m)
-                 scalarAquiferStorageTrial, & ! intent(in):    trial value of storage of water in the aquifer (m)
-                 ! input: diagnostic variables defining the liquid water and ice content
-                 scalarCanopyLiqTrial,      & ! intent(in):    trial value for the liquid water on the vegetation canopy (kg m-2)
-                 scalarCanopyIceTrial,      & ! intent(in):    trial value for the ice on the vegetation canopy (kg m-2)
-                 mLayerVolFracLiqTrial,     & ! intent(in):    trial value for the volumetric liquid water content in each snow and soil layer (-)
-                 mLayerVolFracIceTrial,     & ! intent(in):    trial value for the volumetric ice in each snow and soil layer (-)
-                 ! input: data structures
-                 model_decisions,           & ! intent(in):    model decisions
-                 type_data,                 & ! intent(in):    type of vegetation and soil
-                 attr_data,                 & ! intent(in):    spatial attributes
-                 mpar_data,                 & ! intent(in):    model parameters
-                 forc_data,                 & ! intent(in):    model forcing data
-                 bvar_data,                 & ! intent(in):    average model variables for the entire basin
-                 prog_data,                 & ! intent(in):    model prognostic variables for a local HRU
-                 indx_data,                 & ! intent(in):    index data
-                 ! input-output: data structures
-                 diag_data,                 & ! intent(inout): model diagnostic variables for a local HRU
-                 flux_data,                 & ! intent(inout): model fluxes for a local HRU
-                 deriv_data,                & ! intent(out):   derivatives in model fluxes w.r.t. relevant state variables
-                 ! input-output: flux vector and baseflow derivatives
-                 ixSaturation,              & ! intent(inout): index of the lowest saturated layer (NOTE: only computed on the first iteration)
-                 dBaseflow_dMatric,         & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1), we will use it later in computeJacobSundials
-                 fluxVec,                   & ! intent(out):   flux vector (mixed units)
-                 ! output: error control
-                 err,cmessage)                ! intent(out):   error code and error message
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
- firstSplitOper = .true.
-
-
- ! compute soil compressibility (-) and its derivative w.r.t. matric head (m)
- ! NOTE: we already extracted trial matrix head and volumetric liquid water as part of the flux calculations
- call soilCmpresSundials(&
-                 ! input:
-                 ixRichards,                             & ! intent(in): choice of option for Richards' equation
-                 ixBeg,ixEnd,                            & ! intent(in): start and end indices defining desired layers
-                 mLayerMatricHeadPrime(1:nSoil),      & ! intent(in): matric head at the start of the time step (m)
-                 mLayerVolFracLiqTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric liquid water content in each soil layer (-)
-                 mLayerVolFracIceTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric ice content in each soil layer (-)
-                 specificStorage,                        & ! intent(in): specific storage coefficient (m-1)
-                 theta_sat,                              & ! intent(in): soil porosity (-)
-                 ! output:
-                 mLayerCompress,                         & ! intent(inout): compressibility of the soil matrix (-)
-                 dCompress_dPsi,                         & ! intent(inout): derivative in compressibility w.r.t. matric head (m-1)
-                 err,cmessage)                             ! intent(out): error code and error message
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
-! print *, 'dt = ', dt
-! print *, 'dt_cur = ', dt_cur
-
- ! compute the residual vector
- call computResidDAE(&
-                  ! input: model control
+                  sMul,                             & ! intent(out):   multiplier for state vector (used in the residual calculations)
+                  err,cmessage)                       ! intent(out):   error control
+    if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
+
+    ! update thermal conductivity
+    call computThermConduct(&
+                        ! input: control variables
+                        computeVegFlux,               & ! intent(in): flag to denote if computing the vegetation flux
+                        canopyDepth,                  & ! intent(in): canopy depth (m)
+                        ! input: state variables
+                        scalarCanopyIceTrial,         & ! intent(in)
+                        scalarCanopyLiqTrial,         & ! intent(in)
+                        mLayerVolFracIceTrial,        & ! intent(in): volumetric fraction of ice at the start of the sub-step (-)
+                        mLayerVolFracLiqTrial,        & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
+                          ! input/output: data structures
+                        mpar_data,                    & ! intent(in):    model parameters
+                        indx_data,                    & ! intent(in):    model layer indices
+                        prog_data,                    & ! intent(in):    model prognostic variables for a local HRU
+                        diag_data,                    & ! intent(inout): model diagnostic variables for a local HRU
+                        err,cmessage)               ! intent(out): error control
+    if(err/=0)then; err=55; message=trim(message)//trim(cmessage); return; end if
+
+  end if ! updateCp
+
+
+   if(needCm)then
+    ! compute C_m
+    call computCm(&
+                    ! input: control variables
+                    computeVegFlux,           & ! intent(in): flag to denote if computing the vegetation flux
+                    ! input: state variables
+                    scalarCanopyTempTrial,    & ! intent(in)
+                    mLayerTempTrial,          & ! intent(in): volumetric fraction of liquid water at the start of the sub-step (-)
+                    mLayerMatricHeadTrial,    & ! intent(in)
+                    ! input data structures
+                    mpar_data,                & ! intent(in):    model parameters
+                    indx_data,                & ! intent(in):    model layer indices
+                    ! output
+                    scalarCanopyCmTrial,      & ! intent(out):   Cm for vegetation
+                    mLayerCmTrial,            & ! intent(out):   Cm for soil and snow
+                    err,cmessage)                ! intent(out): error control
+  else
+    scalarCanopyCmTrial = 0._qp
+    mLayerCmTrial = 0._qp
+  end if ! needCm
+
+
+  ! save the number of flux calls per time step
+  indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) = indx_data%var(iLookINDEX%numberFluxCalc)%dat(1) + 1
+  ! compute the fluxes for a given state vector
+  call computFlux(&
+                  ! input-output: model control
                   nSnow,                     & ! intent(in):    number of snow layers
                   nSoil,                     & ! intent(in):    number of soil layers
                   nLayers,                   & ! intent(in):    total number of layers
-                  ! input: flux vectors
-                  sMul,                      & ! intent(in):    state vector multiplier (used in the residual calculations)
-                  fluxVec,                   & ! intent(in):    flux vector
-                  ! input: state variables (already disaggregated into scalars and vectors)
-                  scalarCanopyTempTrial,     & ! intent(in):
-                  mLayerTempTrial,           & ! intent(in)
-                  scalarCanairTempPrime,     & ! intent(in):    Prime value for the temperature of the canopy air space (K)
-                  scalarCanopyTempPrime,     & ! intent(in):    Prime value for the temperature of the vegetation canopy (K)
-                  scalarCanopyWatPrime,      &
-                  mLayerTempPrime,           & ! intent(in):    Prime value for the temperature of each snow and soil layer (K)
-                  scalarAquiferStoragePrime, & ! intent(in):    Prime value of storage of water in the aquifer (m)
-                  ! input: diagnostic variables defining the liquid water and ice content (function of state variables)
-                  scalarCanopyIcePrime,      & ! intent(in):    Prime value for the ice on the vegetation canopy (kg m-2)
-                  scalarCanopyLiqPrime,      & ! intent(in):
-                  mLayerVolFracIcePrime,     & ! intent(in):    Prime value for the volumetric ice in each snow and soil layer (-)
-                  mLayerVolFracWatPrime,     &
-                  mLayerVolFracLiqPrime,     &
-                  scalarCanopyCmTrial,       & ! intent(in) Cm of vegetation canopy
-                  mLayerCmTrial,             & ! intent(in) Cm of soil and snow
+                  firstSubStep,              & ! intent(in):    flag to indicate if we are processing the first sub-step
+                  firstFluxCall,             & ! intent(inout): flag to denote the first flux call
+                  firstSplitOper,            & ! intent(in):    flag to indicate if we are processing the first flux call in a splitting operation
+                  computeVegFlux,            & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
+                  scalarSolution,            & ! intent(in):    flag to indicate the scalar solution
+                  requireLWBal,              & ! intent(in):    flag to indicate if we need longwave to be balanced
+                  scalarSfcMeltPond/dt,      & ! intent(in):    drainage from the surface melt pond (kg m-2 s-1)
+                  ! input: state variables
+                  scalarCanairTempTrial,     & ! intent(in):    trial value for the temperature of the canopy air space (K)
+                  scalarCanopyTempTrial,     & ! intent(in):    trial value for the temperature of the vegetation canopy (K)
+                  mLayerTempTrial,           & ! intent(in):    trial value for the temperature of each snow and soil layer (K)
+                  mLayerMatricHeadLiqTrial,  & ! intent(in):    trial value for the liquid water matric potential in each soil layer (m)
+                  mLayerMatricHeadTrial,     & ! intent(in):    trial vector of total water matric potential (m)
+                  scalarAquiferStorageTrial, & ! intent(in):    trial value of storage of water in the aquifer (m)
+                  ! input: diagnostic variables defining the liquid water and ice content
+                  scalarCanopyLiqTrial,      & ! intent(in):    trial value for the liquid water on the vegetation canopy (kg m-2)
+                  scalarCanopyIceTrial,      & ! intent(in):    trial value for the ice on the vegetation canopy (kg m-2)
+                  mLayerVolFracLiqTrial,     & ! intent(in):    trial value for the volumetric liquid water content in each snow and soil layer (-)
+                  mLayerVolFracIceTrial,     & ! intent(in):    trial value for the volumetric ice in each snow and soil layer (-)
                   ! input: data structures
+                  model_decisions,           & ! intent(in):    model decisions
+                  type_data,                 & ! intent(in):    type of vegetation and soil
+                  attr_data,                 & ! intent(in):    spatial attributes
+                  mpar_data,                 & ! intent(in):    model parameters
+                  forc_data,                 & ! intent(in):    model forcing data
+                  bvar_data,                 & ! intent(in):    average model variables for the entire basin
                   prog_data,                 & ! intent(in):    model prognostic variables for a local HRU
-                  diag_data,                 & ! intent(in):    model diagnostic variables for a local HRU
-                  flux_data,                 & ! intent(in):    model fluxes for a local HRU
                   indx_data,                 & ! intent(in):    index data
-                  ! output
-                  resSink,                   & ! intent(out):   additional (sink) terms on the RHS of the state equation
-                  resVec,                    & ! intent(out):   residual vector
-                  err,cmessage)                ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
- !print *, '====================================================================================='
-
-
- ! end association with the information in the data structures
- end associate
-
-
- end subroutine eval8DAE
+                  ! input-output: data structures
+                  diag_data,                 & ! intent(inout): model diagnostic variables for a local HRU
+                  flux_data,                 & ! intent(inout): model fluxes for a local HRU
+                  deriv_data,                & ! intent(out):   derivatives in model fluxes w.r.t. relevant state variables
+                  ! input-output: flux vector and baseflow derivatives
+                  ixSaturation,              & ! intent(inout): index of the lowest saturated layer (NOTE: only computed on the first iteration)
+                  dBaseflow_dMatric,         & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1), we will use it later in computeJacobSundials
+                  fluxVec,                   & ! intent(out):   flux vector (mixed units)
+                  ! output: error control
+                  err,cmessage)                ! intent(out):   error code and error message
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+
+  firstSplitOper = .true.
+
+
+  ! compute soil compressibility (-) and its derivative w.r.t. matric head (m)
+  ! NOTE: we already extracted trial matrix head and volumetric liquid water as part of the flux calculations
+  call soilCmpresSundials(&
+                  ! input:
+                  ixRichards,                             & ! intent(in): choice of option for Richards' equation
+                  ixBeg,ixEnd,                            & ! intent(in): start and end indices defining desired layers
+                  mLayerMatricHeadPrime(1:nSoil),      & ! intent(in): matric head at the start of the time step (m)
+                  mLayerVolFracLiqTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric liquid water content in each soil layer (-)
+                  mLayerVolFracIceTrial(nSnow+1:nLayers), & ! intent(in): trial value for the volumetric ice content in each soil layer (-)
+                  specificStorage,                        & ! intent(in): specific storage coefficient (m-1)
+                  theta_sat,                              & ! intent(in): soil porosity (-)
+                  ! output:
+                  mLayerCompress,                         & ! intent(inout): compressibility of the soil matrix (-)
+                  dCompress_dPsi,                         & ! intent(inout): derivative in compressibility w.r.t. matric head (m-1)
+                  err,cmessage)                             ! intent(out): error code and error message
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+
+  ! print *, 'dt = ', dt
+  ! print *, 'dt_cur = ', dt_cur
+
+  ! compute the residual vector
+  call computResidDAE(&
+                    ! input: model control
+                    nSnow,                     & ! intent(in):    number of snow layers
+                    nSoil,                     & ! intent(in):    number of soil layers
+                    nLayers,                   & ! intent(in):    total number of layers
+                    ! input: flux vectors
+                    sMul,                      & ! intent(in):    state vector multiplier (used in the residual calculations)
+                    fluxVec,                   & ! intent(in):    flux vector
+                    ! input: state variables (already disaggregated into scalars and vectors)
+                    scalarCanopyTempTrial,     & ! intent(in):
+                    mLayerTempTrial,           & ! intent(in)
+                    scalarCanairTempPrime,     & ! intent(in):    Prime value for the temperature of the canopy air space (K)
+                    scalarCanopyTempPrime,     & ! intent(in):    Prime value for the temperature of the vegetation canopy (K)
+                    scalarCanopyWatPrime,      &
+                    mLayerTempPrime,           & ! intent(in):    Prime value for the temperature of each snow and soil layer (K)
+                    scalarAquiferStoragePrime, & ! intent(in):    Prime value of storage of water in the aquifer (m)
+                    ! input: diagnostic variables defining the liquid water and ice content (function of state variables)
+                    scalarCanopyIcePrime,      & ! intent(in):    Prime value for the ice on the vegetation canopy (kg m-2)
+                    scalarCanopyLiqPrime,      & ! intent(in):
+                    mLayerVolFracIcePrime,     & ! intent(in):    Prime value for the volumetric ice in each snow and soil layer (-)
+                    mLayerVolFracWatPrime,     &
+                    mLayerVolFracLiqPrime,     &
+                    scalarCanopyCmTrial,       & ! intent(in) Cm of vegetation canopy
+                    mLayerCmTrial,             & ! intent(in) Cm of soil and snow
+                    ! input: data structures
+                    prog_data,                 & ! intent(in):    model prognostic variables for a local HRU
+                    diag_data,                 & ! intent(in):    model diagnostic variables for a local HRU
+                    flux_data,                 & ! intent(in):    model fluxes for a local HRU
+                    indx_data,                 & ! intent(in):    index data
+                    ! output
+                    resSink,                   & ! intent(out):   additional (sink) terms on the RHS of the state equation
+                    resVec,                    & ! intent(out):   residual vector
+                    err,cmessage)                ! intent(out):   error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+
+  !print *, '====================================================================================='
+
+
+  ! end association with the information in the data structures
+  end associate
+
+
+end subroutine eval8DAE
 end module eval8DAE_module
diff --git a/build/source/engine/sundials/evalDAE4IDA.f90 b/build/source/engine/sundials/evalDAE4IDA.f90
index 349d364..00beaaf 100644
--- a/build/source/engine/sundials/evalDAE4IDA.f90
+++ b/build/source/engine/sundials/evalDAE4IDA.f90
@@ -98,7 +98,7 @@ contains
                  .false.,                           & ! intent(in):    do not check for feasibility inside Sundials loop
                  eqns_data%firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
                  eqns_data%firstFluxCall,           & ! intent(inout): flag to indicate if we are processing the first flux call
-                 eqns_data%firstSplitOper,		    & ! intent(inout): flag to indicate if we are processing the first flux call in a splitting operation
+                 eqns_data%firstSplitOper,          & ! intent(inout): flag to indicate if we are processing the first flux call in a splitting operation
                  eqns_data%computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
                  eqns_data%scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
                  .false.,                           & ! intent(in):    do not require that longwave is balanced inside Sundials loop
@@ -124,28 +124,28 @@ contains
                  eqns_data%dBaseflow_dMatric,       & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1), we will use it later for Jacobian
                  eqns_data%scalarCanopyTempTrial,   & ! intent(in):    trial value of canopy temperature (K)
                  eqns_data%scalarCanopyTempPrev,    & ! intent(in):    previous value of canopy temperature (K)
-                 eqns_data%scalarCanopyIceTrial,	  & ! intent(out):   trial value for mass of ice on the vegetation canopy (kg m-2)
-                 eqns_data%scalarCanopyIcePrev,		  & ! intent(in):    value for mass of ice on the vegetation canopy (kg m-2)
-                 eqns_data%scalarCanopyLiqTrial,	  & ! intent(out):   trial value of canopy liquid water (kg m-2)
-                 eqns_data%scalarCanopyLiqPrev,		  & ! intent(in):    value of canopy liquid water (kg m-2)
+                 eqns_data%scalarCanopyIceTrial,    & ! intent(out):   trial value for mass of ice on the vegetation canopy (kg m-2)
+                 eqns_data%scalarCanopyIcePrev,     & ! intent(in):    value for mass of ice on the vegetation canopy (kg m-2)
+                 eqns_data%scalarCanopyLiqTrial,    & ! intent(out):   trial value of canopy liquid water (kg m-2)
+                 eqns_data%scalarCanopyLiqPrev,     & ! intent(in):    value of canopy liquid water (kg m-2)
                  eqns_data%scalarCanopyEnthalpyTrial,& ! intent(out):  trial value for enthalpy of the vegetation canopy (J m-3)
                  eqns_data%scalarCanopyEnthalpyPrev, & ! intent(in):   value for enthalpy of the vegetation canopy (J m-3)
                  eqns_data%mLayerTempTrial,         & ! intent(out):   trial vector of layer temperature (K)
                  eqns_data%mLayerTempPrev,          & ! intent(in):    vector of layer temperature (K)
                  eqns_data%mLayerMatricHeadLiqTrial,& ! intent(out):   trial value for liquid water matric potential (m)
-                 eqns_data%mLayerMatricHeadTrial, 	& ! intent(out):   trial value for total water matric potential (m)
-                 eqns_data%mLayerMatricHeadPrev, 	  & ! intent(in):    value for total water matric potential (m)
+                 eqns_data%mLayerMatricHeadTrial,   & ! intent(out):   trial value for total water matric potential (m)
+                 eqns_data%mLayerMatricHeadPrev,    & ! intent(in):    value for total water matric potential (m)
                  eqns_data%mLayerVolFracWatTrial,   & ! intent(out):   trial vector of volumetric total water content (-)
                  eqns_data%mLayerVolFracWatPrev,    & ! intent(in):    vector of volumetric total water content (-)
                  eqns_data%mLayerVolFracIceTrial,   & ! intent(out):   trial vector of volumetric ice water content (-)
-                 eqns_data%mLayerVolFracIcePrev,   	& ! intent(in):    vector of volumetric ice water content (-)
+                 eqns_data%mLayerVolFracIcePrev,    & ! intent(in):    vector of volumetric ice water content (-)
                  eqns_data%mLayerVolFracLiqTrial,   & ! intent(out):   trial vector of volumetric liquid water content (-)
-                 eqns_data%mLayerVolFracLiqPrev,   	& ! intent(in):    vector of volumetric liquid water content (-)
+                 eqns_data%mLayerVolFracLiqPrev,    & ! intent(in):    vector of volumetric liquid water content (-)
                  eqns_data%scalarAquiferStorageTrial, & ! intent(out): trial value of storage of water in the aquifer (m)
                  eqns_data%scalarAquiferStoragePrev, &  ! intent(in):  value of storage of water in the aquifer (m)
                  eqns_data%mLayerEnthalpyPrev,      & ! intent(in):    vector of enthalpy for snow+soil layers (J m-3)
                  eqns_data%mLayerEnthalpyTrial,     & ! intent(out):   trial vector of enthalpy for snow+soil layers (J m-3)
-                 eqns_data%ixSaturation,			      & ! intent(inout): index of the lowest saturated layer
+                 eqns_data%ixSaturation,            & ! intent(inout): index of the lowest saturated layer
                  ! output
                  feasible,                          & ! intent(out):   flag to denote the feasibility of the solution
                  eqns_data%fluxVec,                 & ! intent(out):   flux vector
diff --git a/build/source/engine/sundials/soil_utilsSundials.f90 b/build/source/engine/sundials/soil_utilsSundials.f90
index b7c0490..9c02f31 100644
--- a/build/source/engine/sundials/soil_utilsSundials.f90
+++ b/build/source/engine/sundials/soil_utilsSundials.f90
@@ -94,7 +94,7 @@ contains
  real(rkind)                       :: effSat                                    ! effective saturation (-)
  real(rkind)                       :: dPsiLiq_dEffSat                           ! derivative in liquid water matric potential w.r.t. effective saturation (m)
  real(rkind)                       :: dEffSat_dTemp                             ! derivative in effective saturation w.r.t. temperature (K-1)
- real(rkind)                       :: dEffSat_dFracLiq
+!  real(rkind)                       :: dEffSat_dFracLiq
  real(rkind)                       :: effSatPrime
  ! ------------------------------------------------------------------------------------------------------------------------------
  ! initialize error control
diff --git a/build/source/engine/sundials/solveByIDA.f90 b/build/source/engine/sundials/solveByIDA.f90
index c5f439a..a4a686f 100644
--- a/build/source/engine/sundials/solveByIDA.f90
+++ b/build/source/engine/sundials/solveByIDA.f90
@@ -1,6 +1,3 @@
-
-
-
 module solveByIDA_module
 
 
@@ -85,498 +82,498 @@ USE mDecisions_module,only:  qbaseTopmodel ! TOPMODEL-ish baseflow parameterizat
 
 contains
 
- !-------------------
- ! * public subroutine solveByIDA: solve F(y,y') = 0 by IDA (y is the state vector)
- ! ------------------
- subroutine solveByIDA(                         &
-                       dt,                      & ! intent(in):    data time step
-                       atol,                    & ! intent(in):    absolute telerance
-                       rtol,                    & ! intent(in):    relative tolerance
-                       nSnow,                   & ! intent(in):    number of snow layers
-                       nSoil,                   & ! intent(in):    number of soil layers
-                       nLayers,                 & ! intent(in):    total number of layers
-                       nStat,                   & ! intent(in):    total number of state variables
-                       ixMatrix,                & ! intent(in):    type of matrix (dense or banded)
-                       firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
-                       computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
-                       scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
-                       ! input: state vectors
-                       stateVecInit,            & ! intent(in):    initial state vector
-                       sMul,                    & ! intent(inout): state vector multiplier (USEd in the residual calculations)
-                       dMat,                    & ! intent(inout): diagonal of the Jacobian matrix (excludes fluxes)
-                       ! input: data structures
-                       lookup_data,             & ! intent(in):    lookup tables
-                       type_data,               & ! intent(in):    type of vegetation and soil
-                       attr_data,               & ! intent(in):    spatial attributes
-                       mpar_data,               & ! intent(in):    model parameters
-                       forc_data,               & ! intent(in):    model forcing data
-                       bvar_data,               & ! intent(in):    average model variables for the entire basin
-                       prog_data,               & ! intent(in):    model prognostic variables for a local HRU
-                       ! input-output: data structures
-                       indx_data,               & ! intent(in):    index data
-                       diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
-                       flux_temp,               & ! intent(inout): model fluxes for a local HRU
-                       flux_data,               & ! intent(inout): model fluxes for a local HRU
-                       flux_sum,                & ! intent(inout): sum of fluxes model fluxes for a local HRU over a data step
-                       deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
-                       ! output
-                       ixSaturation,            & ! intent(inout) index of the lowest saturated layer (NOTE: only computed on the first iteration)
-                       idaSucceeds,             & ! intent(out):   flag to indicate if ida successfully solved the problem in current data step
-                       tooMuchMelt,             & ! intent(inout):   flag to denote that there was too much melt
-                       mLayerCmpress_sum,       & ! intent(out):   sum of compression of the soil matrix
-                       dt_out,                  & ! intent(out):   time step
-                       stateVec,                & ! intent(out):   model state vector
-                       stateVecPrime,           & ! intent(out):   derivative of model state vector
-                       err,message              & ! intent(out):   error control
+!-------------------
+! * public subroutine solveByIDA: solve F(y,y') = 0 by IDA (y is the state vector)
+! ------------------
+subroutine solveByIDA(                         &
+                      dt,                      & ! intent(in):    data time step
+                      atol,                    & ! intent(in):    absolute telerance
+                      rtol,                    & ! intent(in):    relative tolerance
+                      nSnow,                   & ! intent(in):    number of snow layers
+                      nSoil,                   & ! intent(in):    number of soil layers
+                      nLayers,                 & ! intent(in):    total number of layers
+                      nStat,                   & ! intent(in):    total number of state variables
+                      ixMatrix,                & ! intent(in):    type of matrix (dense or banded)
+                      firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
+                      computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
+                      scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
+                      ! input: state vectors
+                      stateVecInit,            & ! intent(in):    initial state vector
+                      sMul,                    & ! intent(inout): state vector multiplier (USEd in the residual calculations)
+                      dMat,                    & ! intent(inout): diagonal of the Jacobian matrix (excludes fluxes)
+                      ! input: data structures
+                      lookup_data,             & ! intent(in):    lookup tables
+                      type_data,               & ! intent(in):    type of vegetation and soil
+                      attr_data,               & ! intent(in):    spatial attributes
+                      mpar_data,               & ! intent(in):    model parameters
+                      forc_data,               & ! intent(in):    model forcing data
+                      bvar_data,               & ! intent(in):    average model variables for the entire basin
+                      prog_data,               & ! intent(in):    model prognostic variables for a local HRU
+                      ! input-output: data structures
+                      indx_data,               & ! intent(in):    index data
+                      diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
+                      flux_temp,               & ! intent(inout): model fluxes for a local HRU
+                      flux_data,               & ! intent(inout): model fluxes for a local HRU
+                      flux_sum,                & ! intent(inout): sum of fluxes model fluxes for a local HRU over a data step
+                      deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
+                      ! output
+                      ixSaturation,            & ! intent(inout) index of the lowest saturated layer (NOTE: only computed on the first iteration)
+                      idaSucceeds,             & ! intent(out):   flag to indicate if ida successfully solved the problem in current data step
+                      tooMuchMelt,             & ! intent(inout):   flag to denote that there was too much melt
+                      mLayerCmpress_sum,       & ! intent(out):   sum of compression of the soil matrix
+                      dt_out,                  & ! intent(out):   time step
+                      stateVec,                & ! intent(out):   model state vector
+                      stateVecPrime,           & ! intent(out):   derivative of model state vector
+                      err,message              & ! intent(out):   error control
                       )
 
- !======= Inclusions ===========
- USE fida_mod                                    ! Fortran interface to IDA
- USE fnvector_serial_mod                         ! Fortran interface to serial N_Vector
- USE fsunmatrix_dense_mod                        ! Fortran interface to dense SUNMatrix
- USE fsunlinsol_dense_mod                        ! Fortran interface to dense SUNLinearSolver
- USE fsunmatrix_band_mod                         ! Fortran interface to banded SUNMatrix
- USE fsunlinsol_band_mod                         ! Fortran interface to banded SUNLinearSolver
- USE fsunnonlinsol_newton_mod                    ! Fortran interface to Newton SUNNonlinearSolver
- USE fsundials_matrix_mod                        ! Fortran interface to generic SUNMatrix
- USE fsundials_nvector_mod                       ! Fortran interface to generic N_Vector
- USE fsundials_linearsolver_mod                  ! Fortran interface to generic SUNLinearSolver
- USE fsundials_nonlinearsolver_mod               ! Fortran interface to generic SUNNonlinearSolver
- USE allocspace4chm_module,only:allocLocal                ! allocate local data structures
- USE evalDAE4IDA_module,only:evalDAE4IDA         ! DAE/ODE functions
- USE evalJac4IDA_module,only:evalJac4IDA         ! system Jacobian
- USE tol4IDA_module,only:computWeight4IDA        ! weigth required for tolerances
- USE eval8DAE_module,only:eval8DAE               ! residual of DAE
- USE var_derive_module,only:calcHeight           ! height at layer interfaces and layer mid-point
+  !======= Inclusions ===========
+  USE fida_mod                                    ! Fortran interface to IDA
+  USE fnvector_serial_mod                         ! Fortran interface to serial N_Vector
+  USE fsunmatrix_dense_mod                        ! Fortran interface to dense SUNMatrix
+  USE fsunlinsol_dense_mod                        ! Fortran interface to dense SUNLinearSolver
+  USE fsunmatrix_band_mod                         ! Fortran interface to banded SUNMatrix
+  USE fsunlinsol_band_mod                         ! Fortran interface to banded SUNLinearSolver
+  USE fsunnonlinsol_newton_mod                    ! Fortran interface to Newton SUNNonlinearSolver
+  USE fsundials_matrix_mod                        ! Fortran interface to generic SUNMatrix
+  USE fsundials_nvector_mod                       ! Fortran interface to generic N_Vector
+  USE fsundials_linearsolver_mod                  ! Fortran interface to generic SUNLinearSolver
+  USE fsundials_nonlinearsolver_mod               ! Fortran interface to generic SUNNonlinearSolver
+  USE allocspace4chm_module,only:allocLocal                ! allocate local data structures
+  USE evalDAE4IDA_module,only:evalDAE4IDA         ! DAE/ODE functions
+  USE evalJac4IDA_module,only:evalJac4IDA         ! system Jacobian
+  USE tol4IDA_module,only:computWeight4IDA        ! weigth required for tolerances
+  USE eval8DAE_module,only:eval8DAE               ! residual of DAE
+  USE var_derive_module,only:calcHeight           ! height at layer interfaces and layer mid-point
+
+  !======= Declarations =========
+  implicit none
+
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! calling variables
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! input: model control
+  real(qp),intent(in)             :: dt                     ! data time step
+  real(qp),intent(inout)          :: atol(:)                ! vector of absolute tolerances
+  real(qp),intent(inout)          :: rtol(:)                ! vector of relative tolerances
+  integer(i4b),intent(in)         :: nSnow                  ! number of snow layers
+  integer(i4b),intent(in)         :: nSoil                  ! number of soil layers
+  integer(i4b),intent(in)         :: nLayers                ! total number of layers
+  integer(i4b),intent(in)         :: nStat                  ! total number of state variables
+  integer(i4b),intent(in)         :: ixMatrix               ! form of matrix (dense or banded)
+  logical(lgt),intent(in)         :: firstSubStep           ! flag to indicate if we are processing the first sub-step
+  logical(lgt),intent(in)         :: computeVegFlux         ! flag to indicate if computing fluxes over vegetation
+  logical(lgt),intent(in)         :: scalarSolution         ! flag to denote if implementing the scalar solution
+  ! input: state vectors
+  real(rkind),intent(in)          :: stateVecInit(:)        ! model state vector
+  real(qp),intent(in)             :: sMul(:)                ! state vector multiplier (used in the residual calculations)
+  real(rkind), intent(inout)      :: dMat(:)
+  ! input: data structures
+  type(zLookup),intent(in)        :: lookup_data            ! lookup tables
+  type(var_i),        intent(in)  :: type_data              ! type of vegetation and soil
+  type(var_d),        intent(in)  :: attr_data              ! spatial attributes
+  type(var_dlength),  intent(in)  :: mpar_data              ! model parameters
+  type(var_d),        intent(in)  :: forc_data              ! model forcing data
+  type(var_dlength),  intent(in)  :: bvar_data              ! model variables for the local basin
+  type(var_dlength),  intent(in)  :: prog_data              ! prognostic variables for a local HRU
+  type(var_ilength),  intent(in)  :: indx_data              ! indices defining model states and layers
+  ! input-output: data structures
+  type(var_dlength),intent(inout) :: diag_data              ! diagnostic variables for a local HRU
+  type(var_dlength),intent(inout) :: flux_temp              ! model fluxes for a local HRU
+  type(var_dlength),intent(inout) :: flux_data              ! model fluxes for a local HRU
+  type(var_dlength),intent(inout) :: flux_sum               ! sum of fluxes
+  type(var_dlength),intent(inout) :: deriv_data             ! derivatives in model fluxes w.r.t. relevant state variables
+  real(rkind),intent(inout)       :: mLayerCmpress_sum(:)   ! sum of soil compress
+  ! output: state vectors
+  integer(i4b),intent(inout)      :: ixSaturation           ! index of the lowest saturated layer
+  real(rkind),intent(inout)       :: stateVec(:)            ! model state vector (y)
+  real(rkind),intent(inout)       :: stateVecPrime(:)       ! model state vector (y')
+  logical(lgt),intent(out)        :: idaSucceeds            ! flag to indicate if IDA is successful
+  logical(lgt),intent(inout)      :: tooMuchMelt                   ! flag to denote that there was too much melt
+  real(qp),intent(out)            :: dt_out                 ! time step
+  ! output: error control
+  integer(i4b),intent(out)        :: err                    ! error code
+  character(*),intent(out)        :: message                ! error message
+
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  ! local variables
+  ! --------------------------------------------------------------------------------------------------------------------------------
+  type(N_Vector),           pointer :: sunvec_y             ! sundials solution vector
+  type(N_Vector),           pointer :: sunvec_yp            ! sundials derivative vector
+  type(N_Vector),           pointer :: sunvec_av            ! sundials tolerance vector
+  type(SUNMatrix),          pointer :: sunmat_A             ! sundials matrix
+  type(SUNLinearSolver),    pointer :: sunlinsol_LS         ! sundials linear solver
+  type(SUNNonLinearSolver), pointer :: sunnonlin_NLS        ! sundials nonlinear solver
+  type(c_ptr)                       :: ida_mem              ! IDA memory
+  type(eqnsData),           target  :: eqns_data            ! IDA type
+  integer(i4b)                      :: retval, retvalr      ! return value
+  integer(i4b)                      :: rootsfound(3)        ! crossing direction of discontinuities
+  logical(lgt)                      :: feasible             ! feasibility flag
+  real(qp)                          :: t0                   ! staring time
+  real(qp)                          :: dt_last(1)           ! last time step
+  integer(kind = 8)                 :: mu, lu               ! in banded matrix mode
+  integer(i4b)                      :: iVar
+  logical(lgt)                      :: startQuadrature
+  real(rkind)                       :: mLayerMatricHeadLiqPrev(nSoil)
+  real(qp)                          :: h_init
+  integer(c_long)                   :: nState               ! total number of state variables
+  real(rkind)                       :: rVec(nStat)
+  real(qp)                          :: tret(1)
+  logical(lgt)                      :: mergedLayers
+  logical(lgt),parameter            :: offErrWarnMessage = .false.
+  real(rkind)                       :: superflousSub        ! superflous sublimation (kg m-2 s-1)
+  real(rkind)                       :: superflousNrg        ! superflous energy that cannot be used for sublimation (W m-2 [J m-2 s-1])
+  integer(i4b)                      :: i
+
+  ! -----------------------------------------------------------------------------------------------------
+
+  ! initialize error control
+  err=0; message="solveByIDA/"
+
+  nState = nStat
+  idaSucceeds = .true.
+  ! fill eqns_data which will be required later to call eval8DAE
+  eqns_data%dt                      = dt
+  eqns_data%nSnow                   = nSnow
+  eqns_data%nSoil                   = nSoil
+  eqns_data%nLayers                 = nLayers
+  eqns_data%nState                  = nState
+  eqns_data%ixMatrix                = ixMatrix
+  eqns_data%firstSubStep            = firstSubStep
+  eqns_data%computeVegFlux          = computeVegFlux
+  eqns_data%scalarSolution          = scalarSolution
+
+  allocate( eqns_data%atol(nState) )
+  eqns_data%atol = atol
+
+  allocate( eqns_data%rtol(nState) )
+  eqns_data%rtol = rtol
+
+  allocate( eqns_data%sMul(nState) )
+  eqns_data%sMul                    = sMul
+
+  allocate( eqns_data%dMat(nState) )
+  eqns_data%dMat                   = dMat
+
+  ! allocate space for the temporary prognostic variable structure
+  call allocLocal(prog_meta(:),eqns_data%prog_data,nSnow,nSoil,err,message)
+  if(err/=0)then; err=20; message=trim(message)//trim(message); return; endif
+  eqns_data%prog_data               = prog_data
+
+  ! allocate space for the temporary diagnostic variable structure
+  call allocLocal(diag_meta(:),eqns_data%diag_data,nSnow,nSoil,err,message)
+  if(err/=0)then; err=20; message=trim(message)//trim(message); return; endif
+  eqns_data%diag_data               = diag_data
+
+  ! allocate space for the temporary flux variable structure
+  call allocLocal(flux_meta(:),eqns_data%flux_data,nSnow,nSoil,err,message)
+  if(err/=0)then; err=20; message=trim(message)//trim(message); return; endif
+  eqns_data%flux_data               = flux_data
+
+  ! allocate space for the derivative structure
+  call allocLocal(deriv_meta(:),eqns_data%deriv_data,nSnow,nSoil,err,message)
+  if(err/=0)then; err=20; message=trim(message)//trim(message); return; end if
+  eqns_data%deriv_data              = deriv_data
+
+  eqns_data%lookup_data             = lookup_data
+  eqns_data%type_data               = type_data
+  eqns_data%attr_data               = attr_data
+  eqns_data%mpar_data               = mpar_data
+  eqns_data%forc_data               = forc_data
+  eqns_data%bvar_data               = bvar_data
+  eqns_data%indx_data               = indx_data
+
+  ! allocate space
+  if(model_decisions(iLookDECISIONS%groundwatr)%iDecision==qbaseTopmodel)then
+    allocate(eqns_data%dBaseflow_dMatric(nSoil,nSoil),stat=err)
+  else
+    allocate(eqns_data%dBaseflow_dMatric(0,0),stat=err)
+  end if
+  allocate( eqns_data%mLayerMatricHeadLiqTrial(nSoil) )
+  allocate( eqns_data%mLayerMatricHeadTrial(nSoil) )
+  allocate( eqns_data%mLayerMatricHeadPrev(nSoil) )
+  allocate( eqns_data%mLayerVolFracWatTrial(nLayers) )
+  allocate( eqns_data%mLayerVolFracWatPrev(nLayers) )
+  allocate( eqns_data%mLayerTempTrial(nLayers) )
+  allocate( eqns_data%mLayerTempPrev(nLayers) )
+  allocate( eqns_data%mLayerVolFracIceTrial(nLayers) )
+  allocate( eqns_data%mLayerVolFracIcePrev(nLayers) )
+  allocate( eqns_data%mLayerVolFracLiqTrial(nLayers) )
+  allocate( eqns_data%mLayerVolFracLiqPrev(nLayers) )
+  allocate( eqns_data%mLayerEnthalpyTrial(nLayers) )
+  allocate( eqns_data%mLayerEnthalpyPrev(nLayers) )
+  allocate( eqns_data%fluxVec(nState) )
+  allocate( eqns_data%resSink(nState) )
+
+  startQuadrature = .true.
+
+  ! create serial vectors
+  sunvec_y => FN_VMake_Serial(nState, stateVec)
+  if (.not. associated(sunvec_y)) then; err=20; message='solveByIDA: sunvec = NULL'; return; endif
+
+  sunvec_yp => FN_VMake_Serial(nState, stateVecPrime)
+  if (.not. associated(sunvec_yp)) then; err=20; message='solveByIDA: sunvec = NULL'; return; endif
+
+  ! Initialize solution vectors
+  call setInitialCondition(nState, stateVecInit, sunvec_y, sunvec_yp)
+
+  ! Create memory
+  ida_mem = FIDACreate()
+  if (.not. c_associated(ida_mem)) then; err=20; message='solveByIDA: ida_mem = NULL'; return; endif
+
+  ! Attach user data to memory
+  eqns_data%ida_mem = ida_mem
+  retval = FIDASetUserData(ida_mem, c_loc(eqns_data))
+  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetUserData'; return; endif
+
+  ! Initialize memory
+  t0 = 0._rkind
+  retval = FIDAInit(ida_mem, c_funloc(evalDAE4IDA), t0, sunvec_y, sunvec_yp)
+  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDAInit'; return; endif
+
+  ! set tolerances
+  retval = FIDAWFtolerances(ida_mem, c_funloc(computWeight4IDA))
+  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDAWFtolerances'; return; endif
+
+  ! define the form of the matrix
+  select case(ixMatrix)
+    case(ixBandMatrix)
+      mu = ku; lu = kl;
+      ! Create banded SUNMatrix for use in linear solves
+      sunmat_A => FSUNBandMatrix(nState, mu, lu)
+      if (.not. associated(sunmat_A)) then; err=20; message='solveByIDA: sunmat = NULL'; return; endif
+
+      ! Create banded SUNLinearSolver object
+      sunlinsol_LS => FSUNLinSol_Band(sunvec_y, sunmat_A)
+      if (.not. associated(sunlinsol_LS)) then; err=20; message='solveByIDA: sunlinsol = NULL'; return; endif
+
+    case(ixFullMatrix)
+      ! Create dense SUNMatrix for use in linear solves
+      sunmat_A => FSUNDenseMatrix(nState, nState)
+      if (.not. associated(sunmat_A)) then; err=20; message='solveByIDA: sunmat = NULL'; return; endif
+
+      ! Create dense SUNLinearSolver object
+      sunlinsol_LS => FSUNDenseLinearSolver(sunvec_y, sunmat_A)
+      if (.not. associated(sunlinsol_LS)) then; err=20; message='solveByIDA: sunlinsol = NULL'; return; endif
+
+      ! check
+    case default;  err=20; message='solveByIDA: error in type of matrix'; return
+
+  end select  ! form of matrix
+
+  ! Attach the matrix and linear solver
+  retval = FIDASetLinearSolver(ida_mem, sunlinsol_LS, sunmat_A);
+  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetLinearSolver'; return; endif
+
+  if(ixMatrix == ixFullMatrix)then
+    ! Set the user-supplied Jacobian routine
+    !comment this line out to use FD Jacobian
+    retval = FIDASetJacFn(ida_mem, c_funloc(evalJac4IDA))
+    if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetJacFn'; return; endif
+  endif
 
- !======= Declarations =========
- implicit none
+  ! Create Newton SUNNonlinearSolver object
+  sunnonlin_NLS => FSUNNonlinSol_Newton(sunvec_y)
+  if (.not. associated(sunnonlin_NLS)) then; err=20; message='solveByIDA: sunnonlinsol = NULL'; return; endif
 
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! calling variables
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! input: model control
- real(qp),intent(in)             :: dt                     ! data time step
- real(qp),intent(inout)          :: atol(:)                ! vector of absolute tolerances
- real(qp),intent(inout)          :: rtol(:)                ! vector of relative tolerances
- integer(i4b),intent(in)         :: nSnow                  ! number of snow layers
- integer(i4b),intent(in)         :: nSoil                  ! number of soil layers
- integer(i4b),intent(in)         :: nLayers                ! total number of layers
- integer(i4b),intent(in)         :: nStat                  ! total number of state variables
- integer(i4b),intent(in)         :: ixMatrix               ! form of matrix (dense or banded)
- logical(lgt),intent(in)         :: firstSubStep           ! flag to indicate if we are processing the first sub-step
- logical(lgt),intent(in)         :: computeVegFlux         ! flag to indicate if computing fluxes over vegetation
- logical(lgt),intent(in)         :: scalarSolution         ! flag to denote if implementing the scalar solution
- ! input: state vectors
- real(rkind),intent(in)          :: stateVecInit(:)        ! model state vector
- real(qp),intent(in)             :: sMul(:)                ! state vector multiplier (used in the residual calculations)
- real(rkind), intent(inout)      :: dMat(:)
- ! input: data structures
- type(zLookup),intent(in)        :: lookup_data            ! lookup tables
- type(var_i),        intent(in)  :: type_data              ! type of vegetation and soil
- type(var_d),        intent(in)  :: attr_data              ! spatial attributes
- type(var_dlength),  intent(in)  :: mpar_data              ! model parameters
- type(var_d),        intent(in)  :: forc_data              ! model forcing data
- type(var_dlength),  intent(in)  :: bvar_data              ! model variables for the local basin
- type(var_dlength),  intent(in)  :: prog_data              ! prognostic variables for a local HRU
- type(var_ilength),  intent(in)  :: indx_data              ! indices defining model states and layers
- ! input-output: data structures
- type(var_dlength),intent(inout) :: diag_data              ! diagnostic variables for a local HRU
- type(var_dlength),intent(inout) :: flux_temp              ! model fluxes for a local HRU
- type(var_dlength),intent(inout) :: flux_data              ! model fluxes for a local HRU
- type(var_dlength),intent(inout) :: flux_sum               ! sum of fluxes
- type(var_dlength),intent(inout) :: deriv_data             ! derivatives in model fluxes w.r.t. relevant state variables
- real(rkind),intent(inout)       :: mLayerCmpress_sum(:)   ! sum of soil compress
- ! output: state vectors
- integer(i4b),intent(inout)      :: ixSaturation           ! index of the lowest saturated layer
- real(rkind),intent(inout)       :: stateVec(:)            ! model state vector (y)
- real(rkind),intent(inout)       :: stateVecPrime(:)       ! model state vector (y')
- logical(lgt),intent(out)        :: idaSucceeds            ! flag to indicate if IDA is successful
- logical(lgt),intent(inout)      :: tooMuchMelt                   ! flag to denote that there was too much melt
- real(qp),intent(out)            :: dt_out                 ! time step
- ! output: error control
- integer(i4b),intent(out)        :: err                    ! error code
- character(*),intent(out)        :: message                ! error message
+  ! Attach the nonlinear solver
+  retval = FIDASetNonlinearSolver(ida_mem, sunnonlin_NLS)
+  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetNonlinearSolver'; return; endif
 
- ! --------------------------------------------------------------------------------------------------------------------------------
- ! local variables
- ! --------------------------------------------------------------------------------------------------------------------------------
- type(N_Vector),           pointer :: sunvec_y             ! sundials solution vector
- type(N_Vector),           pointer :: sunvec_yp            ! sundials derivative vector
- type(N_Vector),           pointer :: sunvec_av            ! sundials tolerance vector
- type(SUNMatrix),          pointer :: sunmat_A             ! sundials matrix
- type(SUNLinearSolver),    pointer :: sunlinsol_LS         ! sundials linear solver
- type(SUNNonLinearSolver), pointer :: sunnonlin_NLS        ! sundials nonlinear solver
- type(c_ptr)                       :: ida_mem              ! IDA memory
- type(eqnsData),           target  :: eqns_data            ! IDA type
- integer(i4b)                      :: retval, retvalr      ! return value
- integer(i4b)                      :: rootsfound(3)        ! crossing direction of discontinuities
- logical(lgt)                      :: feasible             ! feasibility flag
- real(qp)                          :: t0                   ! staring time
- real(qp)                          :: dt_last(1)           ! last time step
- integer(kind = 8)                 :: mu, lu               ! in banded matrix mode
- integer(i4b)                      :: iVar
- logical(lgt)                      :: startQuadrature
- real(rkind)                       :: mLayerMatricHeadLiqPrev(nSoil)
- real(qp)                          :: h_init
- integer(c_long)                   :: nState               ! total number of state variables
- real(rkind)                       :: rVec(nStat)
- real(qp)                          :: tret(1)
- logical(lgt)                      :: mergedLayers
- logical(lgt),parameter            :: offErrWarnMessage = .false.
- real(rkind)                       :: superflousSub        ! superflous sublimation (kg m-2 s-1)
- real(rkind)                       :: superflousNrg        ! superflous energy that cannot be used for sublimation (W m-2 [J m-2 s-1])
- integer(i4b)                      :: i
-
- ! -----------------------------------------------------------------------------------------------------
+  ! Enforce the solver to stop at end of the time step
+  retval = FIDASetStopTime(ida_mem, dt)
+  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetStopTime'; return; endif
 
- ! initialize error control
- err=0; message="solveByIDA/"
-
- nState = nStat
- idaSucceeds = .true.
- ! fill eqns_data which will be required later to call eval8DAE
- eqns_data%dt                      = dt
- eqns_data%nSnow                   = nSnow
- eqns_data%nSoil                   = nSoil
- eqns_data%nLayers                 = nLayers
- eqns_data%nState                  = nState
- eqns_data%ixMatrix                = ixMatrix
- eqns_data%firstSubStep            = firstSubStep
- eqns_data%computeVegFlux          = computeVegFlux
- eqns_data%scalarSolution          = scalarSolution
-
- allocate( eqns_data%atol(nState) )
- eqns_data%atol = atol
-
- allocate( eqns_data%rtol(nState) )
- eqns_data%rtol = rtol
-
- allocate( eqns_data%sMul(nState) )
- eqns_data%sMul                    = sMul
-
- allocate( eqns_data%dMat(nState) )
- eqns_data%dMat                   = dMat
-
- ! allocate space for the temporary prognostic variable structure
- call allocLocal(prog_meta(:),eqns_data%prog_data,nSnow,nSoil,err,message)
- if(err/=0)then; err=20; message=trim(message)//trim(message); return; endif
- eqns_data%prog_data               = prog_data
-
- ! allocate space for the temporary diagnostic variable structure
- call allocLocal(diag_meta(:),eqns_data%diag_data,nSnow,nSoil,err,message)
- if(err/=0)then; err=20; message=trim(message)//trim(message); return; endif
- eqns_data%diag_data               = diag_data
-
- ! allocate space for the temporary flux variable structure
- call allocLocal(flux_meta(:),eqns_data%flux_data,nSnow,nSoil,err,message)
- if(err/=0)then; err=20; message=trim(message)//trim(message); return; endif
- eqns_data%flux_data               = flux_data
-
- ! allocate space for the derivative structure
- call allocLocal(deriv_meta(:),eqns_data%deriv_data,nSnow,nSoil,err,message)
- if(err/=0)then; err=20; message=trim(message)//trim(message); return; end if
- eqns_data%deriv_data              = deriv_data
-
- eqns_data%lookup_data             = lookup_data
- eqns_data%type_data               = type_data
- eqns_data%attr_data               = attr_data
- eqns_data%mpar_data               = mpar_data
- eqns_data%forc_data               = forc_data
- eqns_data%bvar_data               = bvar_data
- eqns_data%indx_data               = indx_data
-
- ! allocate space
- if(model_decisions(iLookDECISIONS%groundwatr)%iDecision==qbaseTopmodel)then
-  allocate(eqns_data%dBaseflow_dMatric(nSoil,nSoil),stat=err)
- else
-  allocate(eqns_data%dBaseflow_dMatric(0,0),stat=err)
- end if
- allocate( eqns_data%mLayerMatricHeadLiqTrial(nSoil) )
- allocate( eqns_data%mLayerMatricHeadTrial(nSoil) )
- allocate( eqns_data%mLayerMatricHeadPrev(nSoil) )
- allocate( eqns_data%mLayerVolFracWatTrial(nLayers) )
- allocate( eqns_data%mLayerVolFracWatPrev(nLayers) )
- allocate( eqns_data%mLayerTempTrial(nLayers) )
- allocate( eqns_data%mLayerTempPrev(nLayers) )
- allocate( eqns_data%mLayerVolFracIceTrial(nLayers) )
- allocate( eqns_data%mLayerVolFracIcePrev(nLayers) )
- allocate( eqns_data%mLayerVolFracLiqTrial(nLayers) )
- allocate( eqns_data%mLayerVolFracLiqPrev(nLayers) )
- allocate( eqns_data%mLayerEnthalpyTrial(nLayers) )
- allocate( eqns_data%mLayerEnthalpyPrev(nLayers) )
- allocate( eqns_data%fluxVec(nState) )
- allocate( eqns_data%resSink(nState) )
-
- startQuadrature = .true.
-
- ! create serial vectors
- sunvec_y => FN_VMake_Serial(nState, stateVec)
- if (.not. associated(sunvec_y)) then; err=20; message='solveByIDA: sunvec = NULL'; return; endif
-
- sunvec_yp => FN_VMake_Serial(nState, stateVecPrime)
- if (.not. associated(sunvec_yp)) then; err=20; message='solveByIDA: sunvec = NULL'; return; endif
-
- ! Initialize solution vectors
- call setInitialCondition(nState, stateVecInit, sunvec_y, sunvec_yp)
-
- ! Create memory
- ida_mem = FIDACreate()
- if (.not. c_associated(ida_mem)) then; err=20; message='solveByIDA: ida_mem = NULL'; return; endif
-
- ! Attach user data to memory
- eqns_data%ida_mem = ida_mem
- retval = FIDASetUserData(ida_mem, c_loc(eqns_data))
- if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetUserData'; return; endif
-
- ! Initialize memory
- t0 = 0._rkind
- retval = FIDAInit(ida_mem, c_funloc(evalDAE4IDA), t0, sunvec_y, sunvec_yp)
- if (retval /= 0) then; err=20; message='solveByIDA: error in FIDAInit'; return; endif
-
- ! set tolerances
- retval = FIDAWFtolerances(ida_mem, c_funloc(computWeight4IDA))
- if (retval /= 0) then; err=20; message='solveByIDA: error in FIDAWFtolerances'; return; endif
-
- ! define the form of the matrix
- select case(ixMatrix)
-  case(ixBandMatrix)
-   mu = ku; lu = kl;
-   ! Create banded SUNMatrix for use in linear solves
-   sunmat_A => FSUNBandMatrix(nState, mu, lu)
-   if (.not. associated(sunmat_A)) then; err=20; message='solveByIDA: sunmat = NULL'; return; endif
-
-   ! Create banded SUNLinearSolver object
-   sunlinsol_LS => FSUNLinSol_Band(sunvec_y, sunmat_A)
-   if (.not. associated(sunlinsol_LS)) then; err=20; message='solveByIDA: sunlinsol = NULL'; return; endif
-
-  case(ixFullMatrix)
-   ! Create dense SUNMatrix for use in linear solves
-   sunmat_A => FSUNDenseMatrix(nState, nState)
-   if (.not. associated(sunmat_A)) then; err=20; message='solveByIDA: sunmat = NULL'; return; endif
-
-   ! Create dense SUNLinearSolver object
-   sunlinsol_LS => FSUNDenseLinearSolver(sunvec_y, sunmat_A)
-   if (.not. associated(sunlinsol_LS)) then; err=20; message='solveByIDA: sunlinsol = NULL'; return; endif
-
- ! check
-  case default;  err=20; message='solveByIDA: error in type of matrix'; return
-
- end select  ! form of matrix
-
- ! Attach the matrix and linear solver
- retval = FIDASetLinearSolver(ida_mem, sunlinsol_LS, sunmat_A);
- if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetLinearSolver'; return; endif
-
- if(ixMatrix == ixFullMatrix)then
-  ! Set the user-supplied Jacobian routine
-  !comment this line out to use FD Jacobian
-  retval = FIDASetJacFn(ida_mem, c_funloc(evalJac4IDA))
-  if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetJacFn'; return; endif
- endif
-
- ! Create Newton SUNNonlinearSolver object
- sunnonlin_NLS => FSUNNonlinSol_Newton(sunvec_y)
- if (.not. associated(sunnonlin_NLS)) then; err=20; message='solveByIDA: sunnonlinsol = NULL'; return; endif
-
- ! Attach the nonlinear solver
- retval = FIDASetNonlinearSolver(ida_mem, sunnonlin_NLS)
- if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetNonlinearSolver'; return; endif
-
- ! Enforce the solver to stop at end of the time step
- retval = FIDASetStopTime(ida_mem, dt)
- if (retval /= 0) then; err=20; message='solveByIDA: error in FIDASetStopTime'; return; endif
-
- ! Set solver parameters such as maximum order, number of iterations, ...
- call setSolverParams(dt, ida_mem, retval)
- if (retval /= 0) then; err=20; message='solveByIDA: error in setSolverParams'; return; endif
-
- ! Disable error messages and warnings
- if(offErrWarnMessage) then
-   retval = FIDASetErrFile(ida_mem, c_null_ptr)
-   retval = FIDASetNoInactiveRootWarn(ida_mem)
- endif
-
- ! need the following values for the first substep
- eqns_data%scalarCanopyTempPrev     = prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)
- eqns_data%scalarCanopyIcePrev      = prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)
- eqns_data%scalarCanopyLiqPrev      = prog_data%var(iLookPROG%scalarCanopyLiq)%dat(1)
- eqns_data%mLayerVolFracWatPrev(:)  = prog_data%var(iLookPROG%mLayerVolFracWat)%dat(:)
- eqns_data%mLayerTempPrev(:)        = prog_data%var(iLookPROG%mLayerTemp)%dat(:)
- eqns_data%mLayerVolFracIcePrev(:)  = prog_data%var(iLookPROG%mLayerVolFracIce)%dat(:)
- eqns_data%mLayerVolFracLiqPrev(:)  = prog_data%var(iLookPROG%mLayerVolFracLiq)%dat(:)
- eqns_data%mLayerMatricHeadPrev(:)  = prog_data%var(iLookPROG%mLayerMatricHead)%dat(:)
- eqns_data%scalarAquiferStoragePrev = prog_data%var(iLookPROG%scalarAquiferStorage)%dat(1)
- eqns_data%mLayerEnthalpyPrev(:)    = diag_data%var(iLookDIAG%mLayerEnthalpy)%dat(:)
- eqns_data%scalarCanopyEnthalpyPrev = diag_data%var(iLookDIAG%scalarCanopyEnthalpy)%dat(1)
- mLayerMatricHeadLiqPrev(:)         = diag_data%var(iLookDIAG%mLayerMatricHeadLiq)%dat(:)
- eqns_data%ixSaturation             = ixSaturation
-
- !**********************************************************************************
- !****************************** Main Solver ***************************************
- !************************* loop on one_step mode **********************************
- !**********************************************************************************
-
- tret(1) = t0           ! intial time
- do while(tret(1) < dt)
-  eqns_data%firstFluxCall = .false.
-  eqns_data%firstSplitOper = .true.
-  ! call IDASolve, advance solver just one internal step
-  retvalr = FIDASolve(ida_mem, dt, tret, sunvec_y, sunvec_yp, IDA_ONE_STEP)
-  if( retvalr < 0 )then
-   idaSucceeds = .false.
-   exit
+  ! Set solver parameters such as maximum order, number of iterations, ...
+  call setSolverParams(dt, ida_mem, retval)
+  if (retval /= 0) then; err=20; message='solveByIDA: error in setSolverParams'; return; endif
+
+  ! Disable error messages and warnings
+  if(offErrWarnMessage) then
+    retval = FIDASetErrFile(ida_mem, c_null_ptr)
+    retval = FIDASetNoInactiveRootWarn(ida_mem)
+  endif
+
+  ! need the following values for the first substep
+  eqns_data%scalarCanopyTempPrev     = prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)
+  eqns_data%scalarCanopyIcePrev      = prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)
+  eqns_data%scalarCanopyLiqPrev      = prog_data%var(iLookPROG%scalarCanopyLiq)%dat(1)
+  eqns_data%mLayerVolFracWatPrev(:)  = prog_data%var(iLookPROG%mLayerVolFracWat)%dat(:)
+  eqns_data%mLayerTempPrev(:)        = prog_data%var(iLookPROG%mLayerTemp)%dat(:)
+  eqns_data%mLayerVolFracIcePrev(:)  = prog_data%var(iLookPROG%mLayerVolFracIce)%dat(:)
+  eqns_data%mLayerVolFracLiqPrev(:)  = prog_data%var(iLookPROG%mLayerVolFracLiq)%dat(:)
+  eqns_data%mLayerMatricHeadPrev(:)  = prog_data%var(iLookPROG%mLayerMatricHead)%dat(:)
+  eqns_data%scalarAquiferStoragePrev = prog_data%var(iLookPROG%scalarAquiferStorage)%dat(1)
+  eqns_data%mLayerEnthalpyPrev(:)    = diag_data%var(iLookDIAG%mLayerEnthalpy)%dat(:)
+  eqns_data%scalarCanopyEnthalpyPrev = diag_data%var(iLookDIAG%scalarCanopyEnthalpy)%dat(1)
+  mLayerMatricHeadLiqPrev(:)         = diag_data%var(iLookDIAG%mLayerMatricHeadLiq)%dat(:)
+  eqns_data%ixSaturation             = ixSaturation
+
+  !**********************************************************************************
+  !****************************** Main Solver ***************************************
+  !************************* loop on one_step mode **********************************
+  !**********************************************************************************
+
+  tret(1) = t0           ! intial time
+  do while(tret(1) < dt)
+    eqns_data%firstFluxCall = .false.
+    eqns_data%firstSplitOper = .true.
+    ! call IDASolve, advance solver just one internal step
+    retvalr = FIDASolve(ida_mem, dt, tret, sunvec_y, sunvec_yp, IDA_ONE_STEP)
+    if( retvalr < 0 )then
+      idaSucceeds = .false.
+      exit
+    endif
+
+    tooMuchMelt = .false.
+    feasible = .true.
+    ! loop through non-missing energy state variables in the snow domain to see if need to merge
+    do concurrent (i=1:nSnow,indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat(i)/=integerMissing)
+      if (stateVec(indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat(i)) > Tfreeze) tooMuchMelt = .true. !need to merge
+    end do
+    if(tooMuchMelt)exit
+
+    ! get the last stepsize
+    retval = FIDAGetLastStep(ida_mem, dt_last)
+
+    ! compute the flux and the residual vector for a given state vector
+    call eval8DAE(&
+                  ! input: model control
+                  dt_last(1),                         & ! intent(in):    current stepsize
+                  eqns_data%dt,                       & ! intent(in):    total data step
+                  eqns_data%nSnow,                    & ! intent(in):    number of snow layers
+                  eqns_data%nSoil,                    & ! intent(in):    number of soil layers
+                  eqns_data%nLayers,                  & ! intent(in):    number of layers
+                  eqns_data%nState,                   & ! intent(in):    number of state variables in the current subset
+                  .true.,                             & ! intent(in):    check for feasibility once outside Sundials loop
+                  eqns_data%firstSubStep,             & ! intent(in):    flag to indicate if we are processing the first sub-step
+                  eqns_data%firstFluxCall,            & ! intent(inout): flag to indicate if we are processing the first flux call
+                  eqns_data%firstSplitOper,           & ! intent(inout): flag to indicate if we are processing the first flux call in a splitting operation
+                  eqns_data%computeVegFlux,           & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
+                  eqns_data%scalarSolution,           & ! intent(in):    flag to indicate the scalar solution
+                  .true.,                             & ! intent(in):    require that longwave is balanced once outside Sundials loop
+                  ! input: state vectors
+                  stateVec,                           & ! intent(in):    model state vector
+                  stateVecPrime,                      & ! intent(in):    model state vector
+                  eqns_data%sMul,                     & ! intent(inout): state vector multiplier (used in the residual calculations)
+                  ! input: data structures
+                  model_decisions,                    & ! intent(in):    model decisions
+                  eqns_data%lookup_data,              & ! intent(in):    lookup data
+                  eqns_data%type_data,                & ! intent(in):    type of vegetation and soil
+                  eqns_data%attr_data,                & ! intent(in):    spatial attributes
+                  eqns_data%mpar_data,                & ! intent(in):    model parameters
+                  eqns_data%forc_data,                & ! intent(in):    model forcing data
+                  eqns_data%bvar_data,                & ! intent(in):    average model variables for the entire basin
+                  eqns_data%prog_data,                & ! intent(in):    model prognostic variables for a local HRU
+                  ! input-output: data structures
+                  eqns_data%indx_data,                & ! intent(inout): index data
+                  eqns_data%diag_data,                & ! intent(inout): model diagnostic variables for a local HRU
+                  eqns_data%flux_data,                & ! intent(inout): model fluxes for a local HRU (initial flux structure)
+                  eqns_data%deriv_data,               & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
+                  ! input-output
+                  eqns_data%dBaseflow_dMatric,        & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1), we will use it later for Jacobian
+                  eqns_data%scalarCanopyTempTrial,    & ! intent(in):    trial value of canopy temperature (K)
+                  eqns_data%scalarCanopyTempPrev,     & ! intent(in):    previous value of canopy temperature (K)
+                  eqns_data%scalarCanopyIceTrial,     & ! intent(out):   trial value for mass of ice on the vegetation canopy (kg m-2)
+                  eqns_data%scalarCanopyIcePrev,      & ! intent(in):    value for mass of ice on the vegetation canopy (kg m-2)
+                  eqns_data%scalarCanopyLiqTrial,     & ! intent(out):   trial value of canopy liquid water (kg m-2)
+                  eqns_data%scalarCanopyLiqPrev,      & ! intent(in):    value of canopy liquid water (kg m-2)
+                  eqns_data%scalarCanopyEnthalpyTrial,& ! intent(out):  trial value for enthalpy of the vegetation canopy (J m-3)
+                  eqns_data%scalarCanopyEnthalpyPrev, & ! intent(in):   value for enthalpy of the vegetation canopy (J m-3)
+                  eqns_data%mLayerTempTrial,          & ! intent(out):  trial vector of layer temperature (K)
+                  eqns_data%mLayerTempPrev,           & ! intent(in):   vector of layer temperature (K)
+                  eqns_data%mLayerMatricHeadLiqTrial, & ! intent(out):  trial value for liquid water matric potential (m)
+                  eqns_data%mLayerMatricHeadTrial,    & ! intent(out):  trial value for total water matric potential (m)
+                  eqns_data%mLayerMatricHeadPrev,     & ! intent(in):   value for total water matric potential (m)
+                  eqns_data%mLayerVolFracWatTrial,    & ! intent(out):  trial vector of volumetric total water content (-)
+                  eqns_data%mLayerVolFracWatPrev,     & ! intent(in):   vector of volumetric total water content (-)
+                  eqns_data%mLayerVolFracIceTrial,    & ! intent(out):  trial vector of volumetric ice water content (-)
+                  eqns_data%mLayerVolFracIcePrev,     & ! intent(in):   vector of volumetric ice water content (-)
+                  eqns_data%mLayerVolFracLiqTrial,    & ! intent(out):  trial vector of volumetric liquid water content (-)
+                  eqns_data%mLayerVolFracLiqPrev,     & ! intent(in):   vector of volumetric liquid water content (-)
+                  eqns_data%scalarAquiferStorageTrial,& ! intent(out): trial value of storage of water in the aquifer (m)
+                  eqns_data%scalarAquiferStoragePrev, & ! intent(in):   value of storage of water in the aquifer (m)
+                  eqns_data%mLayerEnthalpyPrev,       & ! intent(in):   vector of enthalpy for snow+soil layers (J m-3)
+                  eqns_data%mLayerEnthalpyTrial,      & ! intent(out):  trial vector of enthalpy for snow+soil layers (J m-3)
+                  eqns_data%ixSaturation,             & ! intent(inout): index of the lowest saturated layer
+                  ! output
+                  feasible,                           & ! intent(out):   flag to denote the feasibility of the solution
+                  eqns_data%fluxVec,                  & ! intent(out):   flux vector
+                  eqns_data%resSink,                  & ! intent(out):   additional (sink) terms on the RHS of the state equation
+                  rVec,                               & ! intent(out):   residual vector
+                  eqns_data%err,eqns_data%message)      ! intent(out):   error control
+
+    ! sum of fluxes
+    do iVar=1,size(flux_meta)
+      flux_sum%var(iVar)%dat(:) = flux_sum%var(iVar)%dat(:) + eqns_data%flux_data%var(iVar)%dat(:) *  dt_last(1)
+    end do
+
+    ! do iVar=1,size(flux_meta)
+    !  flux_data%var(iVar)%dat(:) = ( flux_sum%var(iVar)%dat(:) ) /  tret(1)
+    ! end do
+
+    ! sum of mLayerCmpress
+    mLayerCmpress_sum(:) = mLayerCmpress_sum(:) + eqns_data%deriv_data%var(iLookDERIV%dCompress_dPsi)%dat(:) &
+                                    * ( eqns_data%mLayerMatricHeadLiqTrial(:) - mLayerMatricHeadLiqPrev(:) )
+
+    ! save required quantities for next step
+    eqns_data%scalarCanopyTempPrev     = eqns_data%scalarCanopyTempTrial
+    eqns_data%scalarCanopyIcePrev      = eqns_data%scalarCanopyIceTrial
+    eqns_data%scalarCanopyLiqPrev      = eqns_data%scalarCanopyLiqTrial
+    eqns_data%mLayerTempPrev(:)        = eqns_data%mLayerTempTrial(:)
+    mLayerMatricHeadLiqPrev(:)         = eqns_data%mLayerMatricHeadLiqTrial(:)
+    eqns_data%mLayerMatricHeadPrev(:)  = eqns_data%mLayerMatricHeadTrial(:)
+    eqns_data%mLayerVolFracWatPrev(:)  = eqns_data%mLayerVolFracWatTrial(:)
+    eqns_data%mLayerVolFracIcePrev(:)  = eqns_data%mLayerVolFracIceTrial(:)
+    eqns_data%mLayerVolFracLiqPrev(:)  = eqns_data%mLayerVolFracLiqTrial(:)
+    eqns_data%scalarAquiferStoragePrev = eqns_data%scalarAquiferStorageTrial
+    eqns_data%mLayerEnthalpyPrev(:)    = eqns_data%mLayerEnthalpyTrial(:)
+    eqns_data%scalarCanopyEnthalpyPrev = eqns_data%scalarCanopyEnthalpyTrial
+
+  end do ! while loop on one_step mode until time dt
+
+  !****************************** End of Main Solver ***************************************
+
+  err               = eqns_data%err
+  message           = eqns_data%message
+  if( .not. feasible) idaSucceeds = .false.
+
+  if(idaSucceeds)then
+    ! copy to output data
+    diag_data     = eqns_data%diag_data
+    flux_data     = eqns_data%flux_data
+    deriv_data    = eqns_data%deriv_data
+    ixSaturation  = eqns_data%ixSaturation
+    dt_out        = tret(1)
   endif
 
-  tooMuchMelt = .false.
-  feasible = .true.
-  ! loop through non-missing energy state variables in the snow domain to see if need to merge
-  do concurrent (i=1:nSnow,indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat(i)/=integerMissing)
-   if (stateVec(indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat(i)) > Tfreeze) tooMuchMelt = .true. !need to merge
-  enddo
-  if(tooMuchMelt)exit
-
-  ! get the last stepsize
-  retval = FIDAGetLastStep(ida_mem, dt_last)
-
-  ! compute the flux and the residual vector for a given state vector
-  call eval8DAE(&
-                 ! input: model control
-                 dt_last(1),                         & ! intent(in):    current stepsize
-                 eqns_data%dt,                       & ! intent(in):    total data step
-                 eqns_data%nSnow,                    & ! intent(in):    number of snow layers
-                 eqns_data%nSoil,                    & ! intent(in):    number of soil layers
-                 eqns_data%nLayers,                  & ! intent(in):    number of layers
-                 eqns_data%nState,                   & ! intent(in):    number of state variables in the current subset
-                 .true.,                             & ! intent(in):    check for feasibility once outside Sundials loop
-                 eqns_data%firstSubStep,             & ! intent(in):    flag to indicate if we are processing the first sub-step
-                 eqns_data%firstFluxCall,            & ! intent(inout): flag to indicate if we are processing the first flux call
-                 eqns_data%firstSplitOper,           & ! intent(inout): flag to indicate if we are processing the first flux call in a splitting operation
-                 eqns_data%computeVegFlux,           & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
-                 eqns_data%scalarSolution,           & ! intent(in):    flag to indicate the scalar solution
-                 .true.,                             & ! intent(in):    require that longwave is balanced once outside Sundials loop
-                 ! input: state vectors
-                 stateVec,                           & ! intent(in):    model state vector
-                 stateVecPrime,                      & ! intent(in):    model state vector
-                 eqns_data%sMul,                     & ! intent(inout): state vector multiplier (used in the residual calculations)
-                 ! input: data structures
-                 model_decisions,                    & ! intent(in):    model decisions
-                 eqns_data%lookup_data,              & ! intent(in):    lookup data
-                 eqns_data%type_data,                & ! intent(in):    type of vegetation and soil
-                 eqns_data%attr_data,                & ! intent(in):    spatial attributes
-                 eqns_data%mpar_data,                & ! intent(in):    model parameters
-                 eqns_data%forc_data,                & ! intent(in):    model forcing data
-                 eqns_data%bvar_data,                & ! intent(in):    average model variables for the entire basin
-                 eqns_data%prog_data,                & ! intent(in):    model prognostic variables for a local HRU
-                 ! input-output: data structures
-                 eqns_data%indx_data,                & ! intent(inout): index data
-                 eqns_data%diag_data,                & ! intent(inout): model diagnostic variables for a local HRU
-                 eqns_data%flux_data,                & ! intent(inout): model fluxes for a local HRU (initial flux structure)
-                 eqns_data%deriv_data,               & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
-                 ! input-output
-                 eqns_data%dBaseflow_dMatric,        & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1), we will use it later for Jacobian
-                 eqns_data%scalarCanopyTempTrial,    & ! intent(in):    trial value of canopy temperature (K)
-                 eqns_data%scalarCanopyTempPrev,     & ! intent(in):    previous value of canopy temperature (K)
-                 eqns_data%scalarCanopyIceTrial,     & ! intent(out):   trial value for mass of ice on the vegetation canopy (kg m-2)
-                 eqns_data%scalarCanopyIcePrev,      & ! intent(in):    value for mass of ice on the vegetation canopy (kg m-2)
-                 eqns_data%scalarCanopyLiqTrial,     & ! intent(out):   trial value of canopy liquid water (kg m-2)
-                 eqns_data%scalarCanopyLiqPrev,      & ! intent(in):    value of canopy liquid water (kg m-2)
-                 eqns_data%scalarCanopyEnthalpyTrial,& ! intent(out):  trial value for enthalpy of the vegetation canopy (J m-3)
-                 eqns_data%scalarCanopyEnthalpyPrev, & ! intent(in):   value for enthalpy of the vegetation canopy (J m-3)
-                 eqns_data%mLayerTempTrial,          & ! intent(out):  trial vector of layer temperature (K)
-                 eqns_data%mLayerTempPrev,           & ! intent(in):   vector of layer temperature (K)
-                 eqns_data%mLayerMatricHeadLiqTrial, & ! intent(out):  trial value for liquid water matric potential (m)
-                 eqns_data%mLayerMatricHeadTrial,    & ! intent(out):  trial value for total water matric potential (m)
-                 eqns_data%mLayerMatricHeadPrev,     & ! intent(in):   value for total water matric potential (m)
-                 eqns_data%mLayerVolFracWatTrial,    & ! intent(out):  trial vector of volumetric total water content (-)
-                 eqns_data%mLayerVolFracWatPrev,     & ! intent(in):   vector of volumetric total water content (-)
-                 eqns_data%mLayerVolFracIceTrial,    & ! intent(out):  trial vector of volumetric ice water content (-)
-                 eqns_data%mLayerVolFracIcePrev,     & ! intent(in):   vector of volumetric ice water content (-)
-                 eqns_data%mLayerVolFracLiqTrial,    & ! intent(out):  trial vector of volumetric liquid water content (-)
-                 eqns_data%mLayerVolFracLiqPrev,     & ! intent(in):   vector of volumetric liquid water content (-)
-                 eqns_data%scalarAquiferStorageTrial,& ! intent(out): trial value of storage of water in the aquifer (m)
-                 eqns_data%scalarAquiferStoragePrev, & ! intent(in):   value of storage of water in the aquifer (m)
-                 eqns_data%mLayerEnthalpyPrev,       & ! intent(in):   vector of enthalpy for snow+soil layers (J m-3)
-                 eqns_data%mLayerEnthalpyTrial,      & ! intent(out):  trial vector of enthalpy for snow+soil layers (J m-3)
-                 eqns_data%ixSaturation,             & ! intent(inout): index of the lowest saturated layer
-                 ! output
-                 feasible,                           & ! intent(out):   flag to denote the feasibility of the solution
-                 eqns_data%fluxVec,                  & ! intent(out):   flux vector
-                 eqns_data%resSink,                  & ! intent(out):   additional (sink) terms on the RHS of the state equation
-                 rVec,                               & ! intent(out):   residual vector
-                 eqns_data%err,eqns_data%message)      ! intent(out):   error control
-
-  ! sum of fluxes
-  do iVar=1,size(flux_meta)
-   flux_sum%var(iVar)%dat(:) = flux_sum%var(iVar)%dat(:) + eqns_data%flux_data%var(iVar)%dat(:) *  dt_last(1)
-  end do
-
-  ! do iVar=1,size(flux_meta)
-  !  flux_data%var(iVar)%dat(:) = ( flux_sum%var(iVar)%dat(:) ) /  tret(1)
-  ! end do
-
-  ! sum of mLayerCmpress
-  mLayerCmpress_sum(:) = mLayerCmpress_sum(:) + eqns_data%deriv_data%var(iLookDERIV%dCompress_dPsi)%dat(:) &
-                                   * ( eqns_data%mLayerMatricHeadLiqTrial(:) - mLayerMatricHeadLiqPrev(:) )
-
-  ! save required quantities for next step
-  eqns_data%scalarCanopyTempPrev     = eqns_data%scalarCanopyTempTrial
-  eqns_data%scalarCanopyIcePrev      = eqns_data%scalarCanopyIceTrial
-  eqns_data%scalarCanopyLiqPrev      = eqns_data%scalarCanopyLiqTrial
-  eqns_data%mLayerTempPrev(:)        = eqns_data%mLayerTempTrial(:)
-  mLayerMatricHeadLiqPrev(:)         = eqns_data%mLayerMatricHeadLiqTrial(:)
-  eqns_data%mLayerMatricHeadPrev(:)  = eqns_data%mLayerMatricHeadTrial(:)
-  eqns_data%mLayerVolFracWatPrev(:)  = eqns_data%mLayerVolFracWatTrial(:)
-  eqns_data%mLayerVolFracIcePrev(:)  = eqns_data%mLayerVolFracIceTrial(:)
-  eqns_data%mLayerVolFracLiqPrev(:)  = eqns_data%mLayerVolFracLiqTrial(:)
-  eqns_data%scalarAquiferStoragePrev = eqns_data%scalarAquiferStorageTrial
-  eqns_data%mLayerEnthalpyPrev(:)    = eqns_data%mLayerEnthalpyTrial(:)
-  eqns_data%scalarCanopyEnthalpyPrev = eqns_data%scalarCanopyEnthalpyTrial
-
- enddo ! while loop on one_step mode until time dt
-
- !****************************** End of Main Solver ***************************************
-
- err               = eqns_data%err
- message           = eqns_data%message
- if( .not. feasible) idaSucceeds = .false.
-
- if(idaSucceeds)then
-  ! copy to output data
-  diag_data     = eqns_data%diag_data
-  flux_data     = eqns_data%flux_data
-  deriv_data    = eqns_data%deriv_data
-  ixSaturation  = eqns_data%ixSaturation
-  dt_out        = tret(1)
- endif
-
- ! free memory
- deallocate( eqns_data%sMul )
- deallocate( eqns_data%dMat )
- deallocate( eqns_data%dBaseflow_dMatric )
- deallocate( eqns_data%mLayerMatricHeadLiqTrial )
- deallocate( eqns_data%mLayerMatricHeadTrial )
- deallocate( eqns_data%mLayerMatricHeadPrev )
- deallocate( eqns_data%fluxVec )
- deallocate( eqns_data%resSink )
- deallocate( eqns_data%mLayerVolFracWatTrial )
- deallocate( eqns_data%mLayerVolFracWatPrev )
- deallocate( eqns_data%mLayerVolFracIceTrial )
- deallocate( eqns_data%mLayerTempPrev )
- deallocate( eqns_data%mLayerTempTrial )
- deallocate( eqns_data%mLayerVolFracIcePrev )
- deallocate( eqns_data%mLayerVolFracLiqPrev )
- deallocate( eqns_data%mLayerEnthalpyTrial )
- deallocate( eqns_data%mLayerEnthalpyPrev )
-
- call FIDAFree(ida_mem)
- retval = FSUNNonlinSolFree(sunnonlin_NLS)
- retval = FSUNLinSolFree(sunlinsol_LS)
- call FSUNMatDestroy(sunmat_A)
- call FN_VDestroy(sunvec_y)
- call FN_VDestroy(sunvec_yp)
-
- end subroutine solveByIDA
+  ! free memory
+  deallocate( eqns_data%sMul )
+  deallocate( eqns_data%dMat )
+  deallocate( eqns_data%dBaseflow_dMatric )
+  deallocate( eqns_data%mLayerMatricHeadLiqTrial )
+  deallocate( eqns_data%mLayerMatricHeadTrial )
+  deallocate( eqns_data%mLayerMatricHeadPrev )
+  deallocate( eqns_data%fluxVec )
+  deallocate( eqns_data%resSink )
+  deallocate( eqns_data%mLayerVolFracWatTrial )
+  deallocate( eqns_data%mLayerVolFracWatPrev )
+  deallocate( eqns_data%mLayerVolFracIceTrial )
+  deallocate( eqns_data%mLayerTempPrev )
+  deallocate( eqns_data%mLayerTempTrial )
+  deallocate( eqns_data%mLayerVolFracIcePrev )
+  deallocate( eqns_data%mLayerVolFracLiqPrev )
+  deallocate( eqns_data%mLayerEnthalpyTrial )
+  deallocate( eqns_data%mLayerEnthalpyPrev )
+
+  call FIDAFree(ida_mem)
+  retval = FSUNNonlinSolFree(sunnonlin_NLS)
+  retval = FSUNLinSolFree(sunlinsol_LS)
+  call FSUNMatDestroy(sunmat_A)
+  call FN_VDestroy(sunvec_y)
+  call FN_VDestroy(sunvec_yp)
+
+end subroutine solveByIDA
 
 ! ----------------------------------------------------------------
 ! SetInitialCondition: routine to initialize u and up vectors.
diff --git a/build/source/engine/sundials/systemSolvSundials.f90 b/build/source/engine/sundials/systemSolvSundials.f90
index be96070..1909b31 100644
--- a/build/source/engine/sundials/systemSolvSundials.f90
+++ b/build/source/engine/sundials/systemSolvSundials.f90
@@ -123,7 +123,7 @@ subroutine systemSolvSundials(&
                        stateVecPrime,     & ! intent(out):   updated state vector
                        reduceCoupledStep, & ! intent(out):   flag to reduce the length of the coupled step
                        tooMuchMelt,       & ! intent(out):   flag to denote that there was too much melt
-                       dt_out,			  & ! intent(out)
+                       dt_out,            & ! intent(out)
                        err,message)         ! intent(out):   error code and error message
   ! ---------------------------------------------------------------------------------------
   ! structure allocations
@@ -170,293 +170,332 @@ subroutine systemSolvSundials(&
   real(rkind),intent(out)         :: stateVecPrime(:)              ! trial state vector (mixed units)
   logical(lgt),intent(out)        :: reduceCoupledStep             ! flag to reduce the length of the coupled step
   logical(lgt),intent(out)        :: tooMuchMelt                   ! flag to denote that there was too much melt
-  real(qp),intent(out)  			 :: dt_out                        ! time step
+  real(qp),intent(out)            :: dt_out                        ! time step
   integer(i4b),intent(out)        :: err                           ! error code
   character(*),intent(out)        :: message                       ! error message
- ! *********************************************************************************************************************************************************
- ! *********************************************************************************************************************************************************
- ! ---------------------------------------------------------------------------------------
- ! * general local variables
- ! ---------------------------------------------------------------------------------------
- character(LEN=256)              :: cmessage                      ! error message of downwind routine
- integer(i4b)                    :: iVar                          ! index of variable
- integer(i4b)                    :: local_ixGroundwater           ! local index for groundwater representation
- real(rkind)                     :: bulkDensity                   ! bulk density of a given layer (kg m-3)
- real(rkind)                     :: volEnthalpy                   ! volumetric enthalpy of a given layer (J m-3)
- real(rkind),parameter           :: tempAccelerate=0.00_rkind        ! factor to force initial canopy temperatures to be close to air temperature
- real(rkind),parameter           :: xMinCanopyWater=0.0001_rkind     ! minimum value to initialize canopy water (kg m-2)
- real(rkind),parameter           :: tinyStep=0.000001_rkind          ! stupidly small time step (s)
-
- ! ------------------------------------------------------------------------------------------------------
- ! * model solver
- ! ------------------------------------------------------------------------------------------------------
- logical(lgt),parameter          :: forceFullMatrix=.true.        ! flag to force the use of the full Jacobian matrix
- integer(i4b)                    :: ixMatrix                      ! form of matrix (band diagonal or full matrix)
- type(var_dlength)               :: flux_init                     ! model fluxes at the start of the time step
- real(rkind),allocatable         :: dBaseflow_dMatric(:,:)        ! derivative in baseflow w.r.t. matric head (s-1)  ! NOTE: allocatable, since not always needed
- real(rkind)                     :: stateVecNew(nState)           ! new state vector (mixed units)
- real(rkind)                     :: fluxVec0(nState)              ! flux vector (mixed units)
- real(rkind)                     :: fScale(nState)                ! characteristic scale of the function evaluations (mixed units)
- real(rkind)                     :: xScale(nState)                ! characteristic scale of the state vector (mixed units)
- real(rkind)                     :: dMat(nState)                  ! diagonal matrix (excludes flux derivatives)
- real(qp)                        :: sMul(nState)    ! NOTE: qp    ! multiplier for state vector for the residual calculations
- real(qp)                        :: rVec(nState)    ! NOTE: qp    ! residual vector
- real(rkind)                     :: rAdd(nState)                  ! additional terms in the residual vector
- real(rkind)                     :: fOld                          ! function values (-); NOTE: dimensionless because scaled
- logical(lgt)                    :: feasible                      ! feasibility flag
- real(rkind)                     :: atol(nState)     		 	  ! absolute telerance
- real(rkind)                     :: rtol(nState)     		      ! relative tolerance
- integer(i4b)                    :: iLayer                        ! index of model layer in the snow+soil domain
- real(rkind)                     :: xMin,xMax                     ! minimum and maximum values for water content
- real(rkind),parameter           :: canopyTempMax=500._rkind      ! expected maximum value for the canopy temperature (K)
- type(var_dlength)               :: flux_sum	   	              ! sum of fluxes model fluxes for a local HRU over a data step
- integer(i4b) 					 :: tol_iter			          ! iteration index
- real(rkind), allocatable        :: mLayerCmpress_sum(:)		  ! sum of compression of the soil matrix
- logical(lgt)					 :: idaSucceeds		   		      ! flag to indicate if ida successfully solved the problem in current data step
-
-
- ! ---------------------------------------------------------------------------------------
- ! point to variables in the data structures
- ! ---------------------------------------------------------------------------------------
- globalVars: associate(&
- ! model decisions
- ixGroundwater           => model_decisions(iLookDECISIONS%groundwatr)%iDecision   ,& ! intent(in):    [i4b]    groundwater parameterization
- ixSpatialGroundwater    => model_decisions(iLookDECISIONS%spatial_gw)%iDecision   ,& ! intent(in):    [i4b]    spatial representation of groundwater (local-column or single-basin)
-  ! enthalpy
- scalarCanairEnthalpy    => diag_data%var(iLookDIAG%scalarCanairEnthalpy)%dat(1)   ,&  ! intent(out): [dp]    enthalpy of the canopy air space (J m-3)
- scalarCanopyEnthalpy    => diag_data%var(iLookDIAG%scalarCanopyEnthalpy)%dat(1)   ,&  ! intent(out): [dp]    enthalpy of the vegetation canopy (J m-3)
- mLayerEnthalpy          => diag_data%var(iLookDIAG%mLayerEnthalpy)%dat            ,&  ! intent(out): [dp(:)] enthalpy of the snow+soil layers (J m-3)
- ! soil parameters
- theta_sat               => mpar_data%var(iLookPARAM%theta_sat)%dat                ,&  ! intent(in):  [dp(:)] soil porosity (-)
- theta_res               => mpar_data%var(iLookPARAM%theta_res)%dat                ,&  ! intent(in):  [dp(:)] residual volumetric water content (-)
- ! model state variables
- scalarCanairTemp        => prog_data%var(iLookPROG%scalarCanairTemp)%dat(1)       ,& ! intent(in): [dp]     temperature of the canopy air space (K)
- scalarCanopyTemp        => prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)       ,& ! intent(in): [dp]     temperature of the vegetation canopy (K)
- scalarCanopyIce         => prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)        ,& ! intent(in): [dp]     mass of ice on the vegetation canopy (kg m-2)
- scalarCanopyWat         => prog_data%var(iLookPROG%scalarCanopyWat)%dat(1)        ,& ! intent(in): [dp]     mass of total water on the vegetation canopy (kg m-2)
- ! model state variables (snow and soil domains)
- mLayerTemp              => prog_data%var(iLookPROG%mLayerTemp)%dat                ,& ! intent(in): [dp(:)]  temperature of each snow/soil layer (K)
- mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,& ! intent(in): [dp(:)]  volumetric fraction of ice (-)
- mLayerVolFracLiq        => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat          ,& ! intent(in): [dp(:)]  volumetric fraction of liquid water (-)
- mLayerVolFracWat        => prog_data%var(iLookPROG%mLayerVolFracWat)%dat          ,& ! intent(in): [dp(:)]  volumetric fraction of total water (-)
- mLayerMatricHead        => prog_data%var(iLookPROG%mLayerMatricHead)%dat          ,& ! intent(inout): [dp(:)]  matric head (m)
- mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,& ! intent(in):    [dp(:)]  depth of each layer in the snow-soil sub-domain (m)
- snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)         ,& ! intent(in):    [dp]     scaling parameter for the snow freezing curve (K-1)
- airtemp                 => forc_data%var(iLookFORCE%airtemp)                      ,& ! intent(in):    [dp]     temperature of the upper boundary of the snow and soil domains (K)
- ixCasNrg                => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)              ,& ! intent(in):    [i4b]    index of canopy air space energy state variable
- ixVegNrg                => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)              ,& ! intent(in):    [i4b]    index of canopy energy state variable
- ixSnowOnlyNrg           => indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat            ,& ! intent(in):    [i4b(:)] indices for energy states in the snow subdomain
- ixSnowSoilHyd           => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat            ,& ! intent(in):    [i4b(:)] indices for hydrology states in the snow+soil subdomain
- ixSnowSoilNrg           => indx_data%var(iLookINDEX%ixSnowSoilNrg)%dat            ,& ! intent(in):    [i4b(:)] indices for energy states in the snow+soil subdomain
- ixHydType               => indx_data%var(iLookINDEX%ixHydType)%dat                ,& ! intent(in):    [i4b(:)] index of the type of hydrology states in snow+soil domain
- layerType               => indx_data%var(iLookINDEX%layerType)%dat                ,& ! intent(in):    [i4b(:)] layer type (iname_soil or iname_snow)
- ixVegHyd                => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)              ,& ! intent(in):    [i4b]    index of canopy hydrology state variable (mass)
- nSnow                   => indx_data%var(iLookINDEX%nSnow)%dat(1)                 ,& ! intent(in):    [i4b]    number of snow layers
- nSoil                   => indx_data%var(iLookINDEX%nSoil)%dat(1)                 ,& ! intent(in):    [i4b]    number of soil layers
- nLayers                 => indx_data%var(iLookINDEX%nLayers)%dat(1)                & ! intent(in):    [i4b]    total number of layers
- )
- ! ---------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message="systemSolvSundials/"
-
- ! *****
- ! (0) PRELIMINARIES...
- ! ********************
-
- ! -----
- ! * initialize...
- ! ---------------
-
- ! check
- if(dt < tinyStep)then
-  message=trim(message)//'dt is tiny'
-  err=20; return
- endif
-
- ! initialize the flags
- tooMuchMelt        = .false.   ! too much melt
- reduceCoupledStep  = .false.   ! need to reduce the length of the coupled step
-
-
- ! modify the groundwater representation for this single-column implementation
- select case(ixSpatialGroundwater)
-  case(singleBasin); local_ixGroundwater = noExplicit    ! force no explicit representation of groundwater at the local scale
-  case(localColumn); local_ixGroundwater = ixGroundwater ! go with the specified decision
-  case default; err=20; message=trim(message)//'unable to identify spatial representation of groundwater'; return
- end select ! (modify the groundwater representation for this single-column implementation)
-
- ! allocate space for the model fluxes at the start of the time step
- call allocLocal(flux_meta(:),flux_init,nSnow,nSoil,err,cmessage)
- if(err/=0)then; err=20; message=trim(message)//trim(cmessage); return; endif
-
- ! allocate space for the baseflow derivatives
- ! NOTE: needs allocation because only used when baseflow sinks are active
- if(ixGroundwater==qbaseTopmodel)then
-  allocate(dBaseflow_dMatric(nSoil,nSoil),stat=err)  ! baseflow depends on total storage in the soil column, hence on matric head in every soil layer
- else
-  allocate(dBaseflow_dMatric(0,0),stat=err)          ! allocate zero-length dimnensions to avoid passing around an unallocated matrix
- end if
- if(err/=0)then; err=20; message=trim(message)//'unable to allocate space for the baseflow derivatives'; return; end if
-
-
- ! identify the matrix solution method
- ! (the type of matrix used to solve the linear system A.X=B)
- if(local_ixGroundwater==qbaseTopmodel .or. scalarSolution .or. forceFullMatrix)then
-  ixMatrix=ixFullMatrix   ! named variable to denote the full Jacobian matrix
- else
-  ixMatrix=ixBandMatrix   ! named variable to denote the band-diagonal matrix
- endif
-
- ! initialize the model fluxes (some model fluxes are not computed in the iterations)
- do iVar=1,size(flux_temp%var)
-  flux_init%var(iVar)%dat(:) = flux_temp%var(iVar)%dat(:)
- end do
-
- ! -----
- ! * get scaling vectors...
- ! ------------------------
-
- ! initialize state vectors
- call getScaling(&
-                 ! input
-                 diag_data,                        & ! intent(in):    model diagnostic variables for a local HRU
-                 indx_data,                        & ! intent(in):    indices defining model states and layers
-                 ! output
-                 fScale,                           & ! intent(out):   function scaling vector (mixed units)
-                 xScale,                           & ! intent(out):   variable scaling vector (mixed units)
-                 sMul,                             & ! intent(out):   multiplier for state vector (used in the residual calculations)
-                 dMat,                             & ! intent(out):   diagonal of the Jacobian matrix (excludes fluxes)
-                 err,cmessage)                       ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
-
- ! initialize the trial state vectors
- stateVecTrial = stateVecInit
-
- ! need to intialize canopy water at a positive value
- if(ixVegHyd/=integerMissing)then
-  if(stateVecTrial(ixVegHyd) < xMinCanopyWater) stateVecTrial(ixVegHyd) = stateVecTrial(ixVegHyd) + xMinCanopyWater
- endif
-
- ! try to accelerate solution for energy
- if(ixCasNrg/=integerMissing) stateVecTrial(ixCasNrg) = stateVecInit(ixCasNrg) + (airtemp - stateVecInit(ixCasNrg))*tempAccelerate
- if(ixVegNrg/=integerMissing) stateVecTrial(ixVegNrg) = stateVecInit(ixVegNrg) + (airtemp - stateVecInit(ixVegNrg))*tempAccelerate
-
- ! compute H_T at the beginning of the data step
- call t2enthalpy_T(&
-                ! input: data structures
-                diag_data,                   & ! intent(in):  model diagnostic variables for a local HRU
-                mpar_data,                   & ! intent(in):  parameter data structure
-                indx_data,                   & ! intent(in):  model indices
-                lookup_data,                 & ! intent(in):  lookup table data structure
-                ! input: state variables for the vegetation canopy
-                scalarCanairTemp,            & ! intent(in):  value of canopy air temperature (K)
-                scalarCanopyTemp,            & ! intent(in):  value of canopy temperature (K)
-                scalarCanopyWat,             & ! intent(in):  value of canopy total water (kg m-2)
-                scalarCanopyIce,             & ! intent(in):  value for canopy ice content (kg m-2)
-                ! input: variables for the snow-soil domain
-                mLayerTemp,                  & ! intent(in):  vector of layer temperature (K)
-                mLayerVolFracWat,            & ! intent(in):  vector of volumetric total water content (-)
-                mLayerMatricHead,            & ! intent(in):  vector of total water matric potential (m)
-                mLayerVolFracIce,            & ! intent(in):  vector of volumetric fraction of ice (-)
-                ! output: enthalpy
-                scalarCanairEnthalpy,        & ! intent(out): temperature component of enthalpy of the canopy air space (J m-3)
-                scalarCanopyEnthalpy,        & ! intent(out): temperature component of enthalpy of the vegetation canopy (J m-3)
-                mLayerEnthalpy,              & ! intent(out): temperature component of enthalpy of each snow+soil layer (J m-3)
-                ! output: error control
-                err,cmessage)                  ! intent(out): error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; endif
-
- ! compute the flux and the residual vector for a given state vector
- ! NOTE 1: The derivatives computed in eval8summa are used to calculate the Jacobian matrix for the first iteration
- ! NOTE 2: The Jacobian matrix together with the residual vector is used to calculate the first iteration increment
-
- call eval8summa(&
-                 ! input: model control
-                 dt,                      & ! intent(in):    length of the time step (seconds)
-                 nSnow,                   & ! intent(in):    number of snow layers
-                 nSoil,                   & ! intent(in):    number of soil layers
-                 nLayers,                 & ! intent(in):    number of layers
-                 nState,                  & ! intent(in):    number of state variables in the current subset
-                 firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
-                 firstFluxCall,           & ! intent(inout): flag to indicate if we are processing the first flux call
-                 firstSplitOper,          & ! intent(in):    flag to indicate if we are processing the first flux call in a splitting operation
-                 computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
-                 scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
-                 ! input: state vectors
-                 stateVecTrial,           & ! intent(in):    model state vector
-                 fScale,                  & ! intent(in):    function scaling vector
-                 sMul,                    & ! intent(in):    state vector multiplier (used in the residual calculations)
-                 ! input: data structures
-                 model_decisions,         & ! intent(in):    model decisions
-                 lookup_data,             & ! intent(in):    lookup tables
-                 type_data,               & ! intent(in):    type of vegetation and soil
-                 attr_data,               & ! intent(in):    spatial attributes
-                 mpar_data,               & ! intent(in):    model parameters
-                 forc_data,               & ! intent(in):    model forcing data
-                 bvar_data,               & ! intent(in):    average model variables for the entire basin
-                 prog_data,               & ! intent(in):    model prognostic variables for a local HRU
-                 indx_data,               & ! intent(in):    index data
-                 ! input-output: data structures
-                 diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
-                 flux_init,               & ! intent(inout): model fluxes for a local HRU (initial flux structure)
-                 deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
-                 ! input-output: baseflow
-                 ixSaturation,            & ! intent(inout): index of the lowest saturated layer (NOTE: only computed on the first iteration)
-                 dBaseflow_dMatric,       & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1)
-                 ! output
-                 feasible,                & ! intent(out):   flag to denote the feasibility of the solution
-                 fluxVec0,                & ! intent(out):   flux vector
-                 rAdd,                    & ! intent(out):   additional (sink) terms on the RHS of the state equation
-                 rVec,                    & ! intent(out):   residual vector
-                 fOld,                    & ! intent(out):   function evaluation
-                 err,cmessage)              ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
- if(.not.feasible)then; message=trim(message)//'state vector not feasible'; err=20; return; endif
-
- ! copy over the initial flux structure since some model fluxes are not computed in the iterations
- do concurrent ( iVar=1:size(flux_meta) )
-  flux_temp%var(iVar)%dat(:) = flux_init%var(iVar)%dat(:)
- end do
-
- ! allocate space for the temporary flux_sum structure
- call allocLocal(flux_meta(:),flux_sum,nSnow,nSoil,err,cmessage)
- if(err/=0)then; err=20; message=trim(message)//trim(cmessage); return; endif
+  ! *********************************************************************************************************************************************************
+  ! *********************************************************************************************************************************************************
+  ! ---------------------------------------------------------------------------------------
+  ! * general local variables
+  ! ---------------------------------------------------------------------------------------
+  character(LEN=256)              :: cmessage                      ! error message of downwind routine
+  integer(i4b)                    :: iVar                          ! index of variable
+  integer(i4b)                    :: local_ixGroundwater           ! local index for groundwater representation
+  real(rkind)                     :: bulkDensity                   ! bulk density of a given layer (kg m-3)
+  real(rkind)                     :: volEnthalpy                   ! volumetric enthalpy of a given layer (J m-3)
+  real(rkind),parameter           :: tempAccelerate=0.00_rkind        ! factor to force initial canopy temperatures to be close to air temperature
+  real(rkind),parameter           :: xMinCanopyWater=0.0001_rkind     ! minimum value to initialize canopy water (kg m-2)
+  real(rkind),parameter           :: tinyStep=0.000001_rkind          ! stupidly small time step (s)
+
+  ! ------------------------------------------------------------------------------------------------------
+  ! * model solver
+  ! ------------------------------------------------------------------------------------------------------
+  logical(lgt),parameter          :: forceFullMatrix=.true.        ! flag to force the use of the full Jacobian matrix
+  integer(i4b)                    :: ixMatrix                      ! form of matrix (band diagonal or full matrix)
+  type(var_dlength)               :: flux_init                     ! model fluxes at the start of the time step
+  real(rkind),allocatable         :: dBaseflow_dMatric(:,:)        ! derivative in baseflow w.r.t. matric head (s-1)  ! NOTE: allocatable, since not always needed
+  real(rkind)                     :: stateVecNew(nState)           ! new state vector (mixed units)
+  real(rkind)                     :: fluxVec0(nState)              ! flux vector (mixed units)
+  real(rkind)                     :: fScale(nState)                ! characteristic scale of the function evaluations (mixed units)
+  real(rkind)                     :: xScale(nState)                ! characteristic scale of the state vector (mixed units)
+  real(rkind)                     :: dMat(nState)                  ! diagonal matrix (excludes flux derivatives)
+  real(qp)                        :: sMul(nState)    ! NOTE: qp    ! multiplier for state vector for the residual calculations
+  real(qp)                        :: rVec(nState)    ! NOTE: qp    ! residual vector
+  real(rkind)                     :: rAdd(nState)                  ! additional terms in the residual vector
+  real(rkind)                     :: fOld                          ! function values (-); NOTE: dimensionless because scaled
+  logical(lgt)                    :: feasible                      ! feasibility flag
+  real(rkind)                     :: atol(nState)                  ! absolute telerance
+  real(rkind)                     :: rtol(nState)                  ! relative tolerance
+  integer(i4b)                    :: iLayer                        ! index of model layer in the snow+soil domain
+  real(rkind)                     :: xMin,xMax                     ! minimum and maximum values for water content
+  real(rkind),parameter           :: canopyTempMax=500._rkind      ! expected maximum value for the canopy temperature (K)
+  type(var_dlength)               :: flux_sum                      ! sum of fluxes model fluxes for a local HRU over a data step
+  integer(i4b)                    :: tol_iter                      ! iteration index
+  real(rkind), allocatable        :: mLayerCmpress_sum(:)          ! sum of compression of the soil matrix
+  logical(lgt)                    :: idaSucceeds                   ! flag to indicate if ida successfully solved the problem in current data step
 
- ! allocate space for mLayerCmpress_sum
- allocate( mLayerCmpress_sum(nSoil) )
 
- ! check the need to merge snow layers
- if(nSnow>0)then
-  ! compute the energy required to melt the top snow layer (J m-2)
-  bulkDensity = mLayerVolFracIce(1)*iden_ice + mLayerVolFracLiq(1)*iden_water
-  volEnthalpy = temp2ethpy(mLayerTemp(1),bulkDensity,snowfrz_scale)
-  ! set flag and error codes for too much melt
-  if(-volEnthalpy < flux_init%var(iLookFLUX%mLayerNrgFlux)%dat(1)*dt)then
-   tooMuchMelt=.true.
-   message=trim(message)//'net flux in the top snow layer can melt all the snow in the top layer'
-   err=-20; return ! negative error code to denote a warning
+  ! ---------------------------------------------------------------------------------------
+  ! point to variables in the data structures
+  ! ---------------------------------------------------------------------------------------
+  globalVars: associate(&
+  ! model decisions
+  ixGroundwater           => model_decisions(iLookDECISIONS%groundwatr)%iDecision   ,& ! intent(in):    [i4b]    groundwater parameterization
+  ixSpatialGroundwater    => model_decisions(iLookDECISIONS%spatial_gw)%iDecision   ,& ! intent(in):    [i4b]    spatial representation of groundwater (local-column or single-basin)
+    ! enthalpy
+  scalarCanairEnthalpy    => diag_data%var(iLookDIAG%scalarCanairEnthalpy)%dat(1)   ,&  ! intent(out): [dp]    enthalpy of the canopy air space (J m-3)
+  scalarCanopyEnthalpy    => diag_data%var(iLookDIAG%scalarCanopyEnthalpy)%dat(1)   ,&  ! intent(out): [dp]    enthalpy of the vegetation canopy (J m-3)
+  mLayerEnthalpy          => diag_data%var(iLookDIAG%mLayerEnthalpy)%dat            ,&  ! intent(out): [dp(:)] enthalpy of the snow+soil layers (J m-3)
+  ! soil parameters
+  theta_sat               => mpar_data%var(iLookPARAM%theta_sat)%dat                ,&  ! intent(in):  [dp(:)] soil porosity (-)
+  theta_res               => mpar_data%var(iLookPARAM%theta_res)%dat                ,&  ! intent(in):  [dp(:)] residual volumetric water content (-)
+  ! model state variables
+  scalarCanairTemp        => prog_data%var(iLookPROG%scalarCanairTemp)%dat(1)       ,& ! intent(in): [dp]     temperature of the canopy air space (K)
+  scalarCanopyTemp        => prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)       ,& ! intent(in): [dp]     temperature of the vegetation canopy (K)
+  scalarCanopyIce         => prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)        ,& ! intent(in): [dp]     mass of ice on the vegetation canopy (kg m-2)
+  scalarCanopyWat         => prog_data%var(iLookPROG%scalarCanopyWat)%dat(1)        ,& ! intent(in): [dp]     mass of total water on the vegetation canopy (kg m-2)
+  ! model state variables (snow and soil domains)
+  mLayerTemp              => prog_data%var(iLookPROG%mLayerTemp)%dat                ,& ! intent(in): [dp(:)]  temperature of each snow/soil layer (K)
+  mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,& ! intent(in): [dp(:)]  volumetric fraction of ice (-)
+  mLayerVolFracLiq        => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat          ,& ! intent(in): [dp(:)]  volumetric fraction of liquid water (-)
+  mLayerVolFracWat        => prog_data%var(iLookPROG%mLayerVolFracWat)%dat          ,& ! intent(in): [dp(:)]  volumetric fraction of total water (-)
+  mLayerMatricHead        => prog_data%var(iLookPROG%mLayerMatricHead)%dat          ,& ! intent(inout): [dp(:)]  matric head (m)
+  mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,& ! intent(in):    [dp(:)]  depth of each layer in the snow-soil sub-domain (m)
+  snowfrz_scale           => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)         ,& ! intent(in):    [dp]     scaling parameter for the snow freezing curve (K-1)
+  airtemp                 => forc_data%var(iLookFORCE%airtemp)                      ,& ! intent(in):    [dp]     temperature of the upper boundary of the snow and soil domains (K)
+  ixCasNrg                => indx_data%var(iLookINDEX%ixCasNrg)%dat(1)              ,& ! intent(in):    [i4b]    index of canopy air space energy state variable
+  ixVegNrg                => indx_data%var(iLookINDEX%ixVegNrg)%dat(1)              ,& ! intent(in):    [i4b]    index of canopy energy state variable
+  ixSnowOnlyNrg           => indx_data%var(iLookINDEX%ixSnowOnlyNrg)%dat            ,& ! intent(in):    [i4b(:)] indices for energy states in the snow subdomain
+  ixSnowSoilHyd           => indx_data%var(iLookINDEX%ixSnowSoilHyd)%dat            ,& ! intent(in):    [i4b(:)] indices for hydrology states in the snow+soil subdomain
+  ixSnowSoilNrg           => indx_data%var(iLookINDEX%ixSnowSoilNrg)%dat            ,& ! intent(in):    [i4b(:)] indices for energy states in the snow+soil subdomain
+  ixHydType               => indx_data%var(iLookINDEX%ixHydType)%dat                ,& ! intent(in):    [i4b(:)] index of the type of hydrology states in snow+soil domain
+  layerType               => indx_data%var(iLookINDEX%layerType)%dat                ,& ! intent(in):    [i4b(:)] layer type (iname_soil or iname_snow)
+  ixVegHyd                => indx_data%var(iLookINDEX%ixVegHyd)%dat(1)              ,& ! intent(in):    [i4b]    index of canopy hydrology state variable (mass)
+  nSnow                   => indx_data%var(iLookINDEX%nSnow)%dat(1)                 ,& ! intent(in):    [i4b]    number of snow layers
+  nSoil                   => indx_data%var(iLookINDEX%nSoil)%dat(1)                 ,& ! intent(in):    [i4b]    number of soil layers
+  nLayers                 => indx_data%var(iLookINDEX%nLayers)%dat(1)                & ! intent(in):    [i4b]    total number of layers
+  )
+  ! ---------------------------------------------------------------------------------------
+  ! initialize error control
+  err=0; message="systemSolvSundials/"
+
+  ! *****
+  ! (0) PRELIMINARIES...
+  ! ********************
+
+  ! -----
+  ! * initialize...
+  ! ---------------
+
+  ! check
+  if(dt < tinyStep)then
+    message=trim(message)//'dt is tiny'
+    print*, message
+    err=20; return
   endif
- endif
 
- ! get tolerance vectors
- call popTol4IDA(&
+  ! initialize the flags
+  tooMuchMelt        = .false.   ! too much melt
+  reduceCoupledStep  = .false.   ! need to reduce the length of the coupled step
+
+
+  ! modify the groundwater representation for this single-column implementation
+  select case(ixSpatialGroundwater)
+    case(singleBasin); local_ixGroundwater = noExplicit    ! force no explicit representation of groundwater at the local scale
+    case(localColumn); local_ixGroundwater = ixGroundwater ! go with the specified decision
+    case default; err=20; message=trim(message)//'unable to identify spatial representation of groundwater'; return
+  end select ! (modify the groundwater representation for this single-column implementation)
+
+  ! allocate space for the model fluxes at the start of the time step
+  call allocLocal(flux_meta(:),flux_init,nSnow,nSoil,err,cmessage)
+  if(err/=0)then
+    err=20
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  endif
+
+  ! allocate space for the baseflow derivatives
+  ! NOTE: needs allocation because only used when baseflow sinks are active
+  if(ixGroundwater==qbaseTopmodel)then
+    allocate(dBaseflow_dMatric(nSoil,nSoil),stat=err)  ! baseflow depends on total storage in the soil column, hence on matric head in every soil layer
+  else
+    allocate(dBaseflow_dMatric(0,0),stat=err)          ! allocate zero-length dimnensions to avoid passing around an unallocated matrix
+  end if
+  if(err/=0)then
+    err=20
+    message=trim(message)//'unable to allocate space for the baseflow derivatives'
+    print*, message
+    return
+  end if
+
+
+  ! identify the matrix solution method
+  ! (the type of matrix used to solve the linear system A.X=B)
+  if(local_ixGroundwater==qbaseTopmodel .or. scalarSolution .or. forceFullMatrix)then
+    ixMatrix=ixFullMatrix   ! named variable to denote the full Jacobian matrix
+  else
+    ixMatrix=ixBandMatrix   ! named variable to denote the band-diagonal matrix
+  endif
+
+  ! initialize the model fluxes (some model fluxes are not computed in the iterations)
+  do iVar=1,size(flux_temp%var)
+    flux_init%var(iVar)%dat(:) = flux_temp%var(iVar)%dat(:)
+  end do
+
+  ! -----
+  ! * get scaling vectors...
+  ! ------------------------
+
+  ! initialize state vectors
+  call getScaling(&
                   ! input
-                  nState,                           & ! intent(in):    number of desired state variables
-                  prog_data,                        & ! intent(in):    model prognostic variables for a local HRU
                   diag_data,                        & ! intent(in):    model diagnostic variables for a local HRU
                   indx_data,                        & ! intent(in):    indices defining model states and layers
-                  mpar_data,                        & ! intent(in):	  model parameters
                   ! output
-                  atol,                             & ! intent(out):   absolute tolerances vector (mixed units)
-                  rtol,                             & ! intent(out):	  relative tolerances vector (mixed units)
+                  fScale,                           & ! intent(out):   function scaling vector (mixed units)
+                  xScale,                           & ! intent(out):   variable scaling vector (mixed units)
+                  sMul,                             & ! intent(out):   multiplier for state vector (used in the residual calculations)
+                  dMat,                             & ! intent(out):   diagonal of the Jacobian matrix (excludes fluxes)
                   err,cmessage)                       ! intent(out):   error control
- if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  endif  ! (check for errors)
+
+  ! initialize the trial state vectors
+  stateVecTrial = stateVecInit
+
+  ! need to intialize canopy water at a positive value
+  if(ixVegHyd/=integerMissing)then
+    if(stateVecTrial(ixVegHyd) < xMinCanopyWater) stateVecTrial(ixVegHyd) = stateVecTrial(ixVegHyd) + xMinCanopyWater
+  endif
 
- !-------------------
- ! * solving F(y,y') = 0 by IDA. Here, y is the state vector
- ! ------------------
+  ! try to accelerate solution for energy
+  if(ixCasNrg/=integerMissing) stateVecTrial(ixCasNrg) = stateVecInit(ixCasNrg) + (airtemp - stateVecInit(ixCasNrg))*tempAccelerate
+  if(ixVegNrg/=integerMissing) stateVecTrial(ixVegNrg) = stateVecInit(ixVegNrg) + (airtemp - stateVecInit(ixVegNrg))*tempAccelerate
+
+  ! compute H_T at the beginning of the data step
+  call t2enthalpy_T(&
+                  ! input: data structures
+                  diag_data,                   & ! intent(in):  model diagnostic variables for a local HRU
+                  mpar_data,                   & ! intent(in):  parameter data structure
+                  indx_data,                   & ! intent(in):  model indices
+                  lookup_data,                 & ! intent(in):  lookup table data structure
+                  ! input: state variables for the vegetation canopy
+                  scalarCanairTemp,            & ! intent(in):  value of canopy air temperature (K)
+                  scalarCanopyTemp,            & ! intent(in):  value of canopy temperature (K)
+                  scalarCanopyWat,             & ! intent(in):  value of canopy total water (kg m-2)
+                  scalarCanopyIce,             & ! intent(in):  value for canopy ice content (kg m-2)
+                  ! input: variables for the snow-soil domain
+                  mLayerTemp,                  & ! intent(in):  vector of layer temperature (K)
+                  mLayerVolFracWat,            & ! intent(in):  vector of volumetric total water content (-)
+                  mLayerMatricHead,            & ! intent(in):  vector of total water matric potential (m)
+                  mLayerVolFracIce,            & ! intent(in):  vector of volumetric fraction of ice (-)
+                  ! output: enthalpy
+                  scalarCanairEnthalpy,        & ! intent(out): temperature component of enthalpy of the canopy air space (J m-3)
+                  scalarCanopyEnthalpy,        & ! intent(out): temperature component of enthalpy of the vegetation canopy (J m-3)
+                  mLayerEnthalpy,              & ! intent(out): temperature component of enthalpy of each snow+soil layer (J m-3)
+                  ! output: error control
+                  err,cmessage)                  ! intent(out): error control
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return 
+  endif
+
+  ! compute the flux and the residual vector for a given state vector
+  ! NOTE 1: The derivatives computed in eval8summa are used to calculate the Jacobian matrix for the first iteration
+  ! NOTE 2: The Jacobian matrix together with the residual vector is used to calculate the first iteration increment
+
+  call eval8summa(&
+                  ! input: model control
+                  dt,                      & ! intent(in):    length of the time step (seconds)
+                  nSnow,                   & ! intent(in):    number of snow layers
+                  nSoil,                   & ! intent(in):    number of soil layers
+                  nLayers,                 & ! intent(in):    number of layers
+                  nState,                  & ! intent(in):    number of state variables in the current subset
+                  firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
+                  firstFluxCall,           & ! intent(inout): flag to indicate if we are processing the first flux call
+                  firstSplitOper,          & ! intent(in):    flag to indicate if we are processing the first flux call in a splitting operation
+                  computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
+                  scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
+                  ! input: state vectors
+                  stateVecTrial,           & ! intent(in):    model state vector
+                  fScale,                  & ! intent(in):    function scaling vector
+                  sMul,                    & ! intent(in):    state vector multiplier (used in the residual calculations)
+                  ! input: data structures
+                  model_decisions,         & ! intent(in):    model decisions
+                  lookup_data,             & ! intent(in):    lookup tables
+                  type_data,               & ! intent(in):    type of vegetation and soil
+                  attr_data,               & ! intent(in):    spatial attributes
+                  mpar_data,               & ! intent(in):    model parameters
+                  forc_data,               & ! intent(in):    model forcing data
+                  bvar_data,               & ! intent(in):    average model variables for the entire basin
+                  prog_data,               & ! intent(in):    model prognostic variables for a local HRU
+                  indx_data,               & ! intent(in):    index data
+                  ! input-output: data structures
+                  diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
+                  flux_init,               & ! intent(inout): model fluxes for a local HRU (initial flux structure)
+                  deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
+                  ! input-output: baseflow
+                  ixSaturation,            & ! intent(inout): index of the lowest saturated layer (NOTE: only computed on the first iteration)
+                  dBaseflow_dMatric,       & ! intent(out):   derivative in baseflow w.r.t. matric head (s-1)
+                  ! output
+                  feasible,                & ! intent(out):   flag to denote the feasibility of the solution
+                  fluxVec0,                & ! intent(out):   flux vector
+                  rAdd,                    & ! intent(out):   additional (sink) terms on the RHS of the state equation
+                  rVec,                    & ! intent(out):   residual vector
+                  fOld,                    & ! intent(out):   function evaluation
+                  err,cmessage)              ! intent(out):   error control
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  endif  ! (check for errors)
+  
+  if(.not.feasible)then
+    message=trim(message)//'state vector not feasible'
+    err=20
+    return
+  endif
 
- do tol_iter=1,3
+  ! copy over the initial flux structure since some model fluxes are not computed in the iterations
+  do concurrent ( iVar=1:size(flux_meta) )
+    flux_temp%var(iVar)%dat(:) = flux_init%var(iVar)%dat(:)
+  end do
+
+  ! allocate space for the temporary flux_sum structure
+  call allocLocal(flux_meta(:),flux_sum,nSnow,nSoil,err,cmessage)
+  if(err/=0)then
+    err=20
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  endif
+
+ ! allocate space for mLayerCmpress_sum
+ allocate( mLayerCmpress_sum(nSoil) )
+
+  ! check the need to merge snow layers
+  if(nSnow>0)then
+    ! compute the energy required to melt the top snow layer (J m-2)
+    bulkDensity = mLayerVolFracIce(1)*iden_ice + mLayerVolFracLiq(1)*iden_water
+    volEnthalpy = temp2ethpy(mLayerTemp(1),bulkDensity,snowfrz_scale)
+    ! set flag and error codes for too much melt
+    if(-volEnthalpy < flux_init%var(iLookFLUX%mLayerNrgFlux)%dat(1)*dt)then
+      tooMuchMelt=.true.
+      message=trim(message)//'net flux in the top snow layer can melt all the snow in the top layer'
+      print*, message
+      err=-20; 
+      return ! negative error code to denote a warning
+    endif
+  endif
+
+  ! get tolerance vectors
+  call popTol4IDA(&
+                    ! input
+                    nState,                           & ! intent(in):    number of desired state variables
+                    prog_data,                        & ! intent(in):    model prognostic variables for a local HRU
+                    diag_data,                        & ! intent(in):    model diagnostic variables for a local HRU
+                    indx_data,                        & ! intent(in):    indices defining model states and layers
+                    mpar_data,                        & ! intent(in):	  model parameters
+                    ! output
+                    atol,                             & ! intent(out):   absolute tolerances vector (mixed units)
+                    rtol,                             & ! intent(out):	  relative tolerances vector (mixed units)
+                    err,cmessage)                       ! intent(out):   error control
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  endif  ! (check for errors)
+
+  !-------------------
+  ! * solving F(y,y') = 0 by IDA. Here, y is the state vector
+  ! ------------------
+    ! TODO: Should not be hardcoded
+  do tol_iter=1,3
 
    ! initialize flux_sum
     do concurrent ( iVar=1:size(flux_meta) )
@@ -466,88 +505,94 @@ subroutine systemSolvSundials(&
     ! initialize sum of compression of the soil matrix
     mLayerCmpress_sum(:) = 0._rkind
 
-   call solveByIDA(&
-                 dt,                      & ! intent (in) 	 data time step
-                 atol,                    & ! intent (in) 	 absolute telerance
-                 rtol,                    & ! intent (in) 	 relative tolerance
-                 nSnow,                   & ! intent(in):    number of snow layers
-                 nSoil,                   & ! intent(in):    number of soil layers
-                 nLayers,                 & ! intent(in):    number of snow+soil layers
-                 nState,                  & ! intent(in):    number of state variables in the current subset
-                 ixMatrix,                & ! intent(in):    type of matrix (dense or banded)
-                 firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
-                 computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
-                 scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
-                 ! input: state vector
-                 stateVecTrial,           & ! intent(in):    model state vector at the beginning of the data time step
-                 sMul,                    & ! intent(inout): state vector multiplier (used in the residual calculations)
-                 dMat,                    & ! intent(inout)  diagonal of the Jacobian matrix (excludes fluxes)
-                 ! input: data structures
-                 lookup_data,             & ! intent(in):    lookup tables
-                 type_data,               & ! intent(in):    type of vegetation and soil
-                 attr_data,               & ! intent(in):    spatial attributes
-                 mpar_data,               & ! intent(in):    model parameters
-                 forc_data,               & ! intent(in):    model forcing data
-                 bvar_data,               & ! intent(in):    average model variables for the entire basin
-                 prog_data,               & ! intent(in):    model prognostic variables for a local HRU
-                 indx_data,               & ! intent(in):    index data
-                 ! input-output: data structures
-                 diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
-                 flux_init,               & ! intent(inout): model fluxes for a local HRU (initial flux structure)
-                 flux_temp,               & ! intent(inout): model fluxes for a local HRU
-                 flux_sum,                & ! intent(inout): sum of fluxes model fluxes for a local HRU over a data step
-                 deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
-                 ! output
-                 ixSaturation,            & ! intent(inout): index of the lowest saturated layer (NOTE: only computed on the first iteration)
-                 idaSucceeds,			  & ! intent(out):   flag to indicate if ida successfully solved the problem in current data step
-                 tooMuchMelt,		      & ! intent(inout):   flag to denote that there was too much melt
-                 mLayerCmpress_sum,       & ! intent(out):	 sum of compression of the soil matrix
-                 dt_out,				          & ! intent(out):   time step
-                 stateVecNew,             & ! intent(out):   model state vector (y) at the end of the data time step
-                 stateVecPrime,           & ! intent(out):   derivative of model state vector (y') at the end of the data time step
-                 err,cmessage)              ! intent(out):   error control
-
- if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
-   if (idaSucceeds)then
-      exit
-   else
-      atol = atol * 0.1
-      rtol = rtol * 0.1
-   endif
-   if( .not.idaSucceeds .and. tol_iter==3) message=trim(message)//'IDA did not succeed after reducing tolerance by 2 magnitudes'
-
- end do  ! iteration over tolerances
+    call solveByIDA(&
+                  dt,                      & ! intent (in) 	 data time step
+                  atol,                    & ! intent (in) 	 absolute telerance
+                  rtol,                    & ! intent (in) 	 relative tolerance
+                  nSnow,                   & ! intent(in):    number of snow layers
+                  nSoil,                   & ! intent(in):    number of soil layers
+                  nLayers,                 & ! intent(in):    number of snow+soil layers
+                  nState,                  & ! intent(in):    number of state variables in the current subset
+                  ixMatrix,                & ! intent(in):    type of matrix (dense or banded)
+                  firstSubStep,            & ! intent(in):    flag to indicate if we are processing the first sub-step
+                  computeVegFlux,          & ! intent(in):    flag to indicate if we need to compute fluxes over vegetation
+                  scalarSolution,          & ! intent(in):    flag to indicate the scalar solution
+                  ! input: state vector
+                  stateVecTrial,           & ! intent(in):    model state vector at the beginning of the data time step
+                  sMul,                    & ! intent(inout): state vector multiplier (used in the residual calculations)
+                  dMat,                    & ! intent(inout)  diagonal of the Jacobian matrix (excludes fluxes)
+                  ! input: data structures
+                  lookup_data,             & ! intent(in):    lookup tables
+                  type_data,               & ! intent(in):    type of vegetation and soil
+                  attr_data,               & ! intent(in):    spatial attributes
+                  mpar_data,               & ! intent(in):    model parameters
+                  forc_data,               & ! intent(in):    model forcing data
+                  bvar_data,               & ! intent(in):    average model variables for the entire basin
+                  prog_data,               & ! intent(in):    model prognostic variables for a local HRU
+                  indx_data,               & ! intent(in):    index data
+                  ! input-output: data structures
+                  diag_data,               & ! intent(inout): model diagnostic variables for a local HRU
+                  flux_init,               & ! intent(inout): model fluxes for a local HRU (initial flux structure)
+                  flux_temp,               & ! intent(inout): model fluxes for a local HRU
+                  flux_sum,                & ! intent(inout): sum of fluxes model fluxes for a local HRU over a data step
+                  deriv_data,              & ! intent(inout): derivatives in model fluxes w.r.t. relevant state variables
+                  ! output
+                  ixSaturation,            & ! intent(inout): index of the lowest saturated layer (NOTE: only computed on the first iteration)
+                  idaSucceeds,             & ! intent(out):   flag to indicate if ida successfully solved the problem in current data step
+                  tooMuchMelt,             & ! intent(inout): flag to denote that there was too much melt
+                  mLayerCmpress_sum,       & ! intent(out):   sum of compression of the soil matrix
+                  dt_out,                  & ! intent(out):   time step
+                  stateVecNew,             & ! intent(out):   model state vector (y) at the end of the data time step
+                  stateVecPrime,           & ! intent(out):   derivative of model state vector (y') at the end of the data time step
+                  err,cmessage)              ! intent(out):   error control
+
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    endif  ! (check for errors)
+
+    if (idaSucceeds)then
+        exit
+    else
+        atol = atol * 0.1
+        rtol = rtol * 0.1
+    endif
+    if( .not.idaSucceeds .and. tol_iter==3) message=trim(message)//'IDA did not succeed after reducing tolerance by 2 magnitudes'
+
+  end do  ! iteration over tolerances
 
   ! check if IDA is successful
- if( .not.idaSucceeds )then
-  err = 20
-  message=trim(message)//trim(cmessage)
-! reduceCoupledStep  = .true.
+  if( .not.idaSucceeds )then
+    err = 20
+    message=trim(message)//trim(cmessage)
+    print*, message
+    ! reduceCoupledStep  = .true.
   return
- else
-  if (tooMuchMelt) return !exit to start same step over after merge
- endif
+  else
+    if (tooMuchMelt) return !exit to start same step over after merge
+  endif
 
- ! compute average flux
+  ! compute average flux
   do iVar=1,size(flux_meta)
     flux_temp%var(iVar)%dat(:) = ( flux_sum%var(iVar)%dat(:) ) /  dt_out
   end do
 
   diag_data%var(iLookDIAG%mLayerCompress)%dat(:) = mLayerCmpress_sum(:)
 
- ! compute the total change in storage associated with compression of the soil matrix (kg m-2)
- diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1) = sum(diag_data%var(iLookDIAG%mLayerCompress)%dat(1:nSoil)*mLayerDepth(nSnow+1:nLayers))*iden_water
+  ! compute the total change in storage associated with compression of the soil matrix (kg m-2)
+  diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1) = sum(diag_data%var(iLookDIAG%mLayerCompress)%dat(1:nSoil)*mLayerDepth(nSnow+1:nLayers))*iden_water
 
- ! save the computed solution
- stateVecTrial = stateVecNew
+  ! save the computed solution
+  stateVecTrial = stateVecNew
 
- ! free memory
- deallocate(mLayerCmpress_sum)
- deallocate(dBaseflow_dMatric)
+  ! free memory
+  deallocate(mLayerCmpress_sum)
+  deallocate(dBaseflow_dMatric)
 
- ! end associate statements
- end associate globalVars
+  ! end associate statements
+  end associate globalVars
 
- end subroutine systemSolvSundials
+end subroutine systemSolvSundials
 
 end module systemSolvSundials_module
diff --git a/build/source/engine/sundials/t2enthalpy.f90 b/build/source/engine/sundials/t2enthalpy.f90
index f773196..4d5cd5b 100644
--- a/build/source/engine/sundials/t2enthalpy.f90
+++ b/build/source/engine/sundials/t2enthalpy.f90
@@ -20,153 +20,153 @@
 
 module t2enthalpy_module
 
-    ! constants
-    USE multiconst, only: gravity, &                          ! gravitational acceleration (m s-1)
-                          Tfreeze, &                          ! freezing point of water (K)
-                          Cp_soil,Cp_water,Cp_ice,Cp_air,&    ! specific heat of soil, water and ice (J kg-1 K-1)
-                          iden_water,iden_ice,iden_air,&      ! intrinsic density of water and ice (kg m-3)
-                          LH_fus                              ! latent heat of fusion (J kg-1)
-    
-    ! data types
-    USE nrtype
-    USE data_types,only:var_iLength                    ! var(:)%dat(:)
-    USE data_types,only:var_dLength                    ! var(:)%dat(:)
-    USE data_types,only:zLookup                        ! z(:)%var(:)%lookup(:)
-    
-    ! indices within parameter structure
-    USE var_lookup,only:iLookPARAM                     ! named variables to define structure element
-    USE var_lookup,only:iLookINDEX                     ! named variables to define structure element
-    USE var_lookup,only:iLookLOOKUP                    ! named variables to define structure element
-    USE var_lookup,only:iLookDIAG       ! named variables for structure elements
-    
-    ! data dimensions
-    USE var_lookup,only:maxvarLookup                   ! maximum number of variables in the lookup tables
-    
-    ! domain types
-    USE globalData,only:iname_cas                      ! named variables for canopy air space
-    USE globalData,only:iname_veg                      ! named variables for vegetation canopy
-    USE globalData,only:iname_snow                     ! named variables for snow
-    USE globalData,only:iname_soil                     ! named variables for soil
-    USE globalData,only:iname_aquifer                  ! named variables for the aquifer
-    
-    ! named variables to describe the state variable type
-    USE globalData,only:iname_nrgCanair                ! named variable defining the energy of the canopy air space
-    USE globalData,only:iname_nrgCanopy                ! named variable defining the energy of the vegetation canopy
-    USE globalData,only:iname_nrgLayer                 ! named variable defining the energy state variable for snow+soil layers
-    
-    ! missing values
-    USE globalData,only:integerMissing                 ! missing integer
-    USE globalData,only:realMissing                    ! missing real number
-    
-    ! privacy
-    implicit none
-    private
-    public::T2E_lookup
-    public::t2enthalpy
-    public::t2enthalpy_T
-    
-    ! define the look-up table used to compute temperature based on enthalpy
-    contains
-    
-    
-     ! ************************************************************************************************************************
-     ! public subroutine T2E_lookup: define a look-up table to compute enthalpy based on temperature
-     ! ************************************************************************************************************************
-     subroutine T2E_lookup(nSoil,                       &  ! intent(in):    number of soil layers
-                           mpar_data,                   &  ! intent(in):    parameter data structure
-                           lookup_data,                 &  ! intent(inout): lookup table data structure
-                           err,message)
-     USE nr_utility_module,only:arth                       ! use to build vectors with regular increments
-     USE spline_int_module,only:spline,splint              ! use for cubic spline interpolation
-     USE soil_utils_module,only:volFracLiq                 ! use to compute the volumetric fraction of liquid water
-     implicit none
-     ! declare dummy variables
-     integer(i4b),intent(in)       :: nSoil
-     type(var_dlength),intent(in)  :: mpar_data            ! model parameters
-     type(zLookup),intent(inout)   :: lookup_data          ! lookup tables
-     integer(i4b),intent(out)      :: err                  ! error code
-     character(*),intent(out)      :: message              ! error message
-     ! declare local variables
-     character(len=128)            :: cmessage             ! error message in downwind routine
-     logical(lgt),parameter        :: doTest=.false.       ! flag to test
-     integer(i4b),parameter        :: nLook=100            ! number of elements in the lookup table
-     integer(i4b),parameter        :: nIntegr8=10000       ! number of points used in the numerical integration
-     real(rkind),parameter            :: T_lower=260.0_rkind     ! lowest temperature value where all liquid water is assumed frozen (K)
-     real(rkind),dimension(nLook)     :: xTemp                ! temporary vector
-     real(rkind)                      :: xIncr                ! temporary increment
-     real(rkind)                      :: T_incr               ! temperature increment
-     real(rkind),parameter            :: T_test=272.9742_rkind   ! test value for temperature (K)
-     real(rkind)                      :: E_test               ! test value for enthalpy (J m-3)
-     integer(i4b)                  :: iVar                 ! loop through variables
-     integer(i4b)                  :: iSoil                ! loop through soil layers
-     integer(i4b)                  :: iLook                ! loop through lookup table
-     integer(i4b)                  :: jIntegr8             ! index for numerical integration
-     logical(lgt)                  :: check                ! flag to check allocation
-     real(rkind)                      :: vGn_m                ! van Genuchten "m" parameter (-)
-     real(rkind)                      :: vFracLiq             ! volumetric fraction of liquid water (-)
-     real(rkind)                      :: vFracIce             ! volumetric fraction of ice (-)
-     real(rkind)                      :: matricHead           ! matric head (m)
-     ! initialize error control
-     err=0; message="T2E_lookup/"
-    
-     ! get the values of temperature for the lookup table
-     xIncr = 1._rkind/real(nLook-1, kind(rkind))
-     xTemp = T_lower + (Tfreeze - T_lower)*arth(0._rkind,xIncr,nLook)**0.25_rkind ! use **0.25 to give more values near freezing
-    
-     ! -----
-     ! * allocate space for the lookup table...
-     ! ----------------------------------------
-    
-     ! initialize checks
-     check=.false.
-    
-     ! allocate space for soil layers
-     if(allocated(lookup_data%z))then; check=.true.; else; allocate(lookup_data%z(nSoil), stat=err); endif
-     if(check) then; err=20; message=trim(message)//'lookup table z dimension was unexpectedly allocated already'; return; end if
-     if(err/=0)then; err=20; message=trim(message)//'problem allocating lookup table z dimension dimension'; return; end if
-    
-     ! allocate space for the variables in the lookup table
-     do iSoil=1,nSoil
-      if(allocated(lookup_data%z(iSoil)%var))then; check=.true.; else; allocate(lookup_data%z(iSoil)%var(maxvarLookup), stat=err); endif
-      if(check) then; err=20; message=trim(message)//'lookup table var dimension was unexpectedly allocated already'; return; end if
-      if(err/=0)then; err=20; message=trim(message)//'problem allocating lookup table var dimension dimension'; return; end if
-    
-      ! allocate space for the values in the lookup table
-      do iVar=1,maxvarLookup
-       if(allocated(lookup_data%z(iSoil)%var(iVar)%lookup))then; check=.true.; else; allocate(lookup_data%z(iSoil)%var(iVar)%lookup(nLook), stat=err); endif
-       if(check) then; err=20; message=trim(message)//'lookup table value dimension was unexpectedly allocated already'; return; end if
-       if(err/=0)then; err=20; message=trim(message)//'problem allocating lookup table vaule dimension dimension'; return; end if
-    
-      end do ! (looping through variables)
-     end do ! (looping through soil layers)
-    
-     ! loop through soil layers
-     do iSoil=1,nSoil
-    
-      ! -----
-      ! * make association to variables in the data structures...
-      ! ---------------------------------------------------------
-    
-      associate(&
-    
-      ! associate model parameters
-      snowfrz_scale  => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)           , & ! scaling parameter for freezing     (K-1)
-      soil_dens_intr => mpar_data%var(iLookPARAM%soil_dens_intr)%dat(iSoil)      , & ! intrinsic soil density             (kg m-3)
-      theta_sat      => mpar_data%var(iLookPARAM%theta_sat)%dat(iSoil)           , & ! soil porosity                      (-)
-      theta_res      => mpar_data%var(iLookPARAM%theta_res)%dat(iSoil)           , & ! volumetric residual water content  (-)
-      vGn_alpha      => mpar_data%var(iLookPARAM%vGn_alpha)%dat(iSoil)           , & ! van Genuchten "alpha" parameter    (m-1)
-      vGn_n          => mpar_data%var(iLookPARAM%vGn_n)%dat(iSoil)               , & ! van Genuchten "n" parameter        (-)
-    
-      ! associate values in the lookup table
-      Tk            => lookup_data%z(iSoil)%var(iLookLOOKUP%temperature)%lookup  , & ! temperature (K)
-      Ey            => lookup_data%z(iSoil)%var(iLookLOOKUP%enthalpy)%lookup     , & ! enthalpy (J m-3)
-      E2            => lookup_data%z(iSoil)%var(iLookLOOKUP%deriv2)%lookup         & ! second derivative of the interpolating function
-    
-      ) ! end associate statement
-    
-      ! compute vGn_m
-      vGn_m = 1._rkind - 1._rkind/vGn_n
+! constants
+USE multiconst, only: gravity, &                          ! gravitational acceleration (m s-1)
+                     Tfreeze, &                          ! freezing point of water (K)
+                     Cp_soil,Cp_water,Cp_ice,Cp_air,&    ! specific heat of soil, water and ice (J kg-1 K-1)
+                     iden_water,iden_ice,iden_air,&      ! intrinsic density of water and ice (kg m-3)
+                     LH_fus                              ! latent heat of fusion (J kg-1)
+
+! data types
+USE nrtype
+USE data_types,only:var_iLength                    ! var(:)%dat(:)
+USE data_types,only:var_dLength                    ! var(:)%dat(:)
+USE data_types,only:zLookup                        ! z(:)%var(:)%lookup(:)
+
+! indices within parameter structure
+USE var_lookup,only:iLookPARAM                     ! named variables to define structure element
+USE var_lookup,only:iLookINDEX                     ! named variables to define structure element
+USE var_lookup,only:iLookLOOKUP                    ! named variables to define structure element
+USE var_lookup,only:iLookDIAG       ! named variables for structure elements
+
+! data dimensions
+USE var_lookup,only:maxvarLookup                   ! maximum number of variables in the lookup tables
+
+! domain types
+USE globalData,only:iname_cas                      ! named variables for canopy air space
+USE globalData,only:iname_veg                      ! named variables for vegetation canopy
+USE globalData,only:iname_snow                     ! named variables for snow
+USE globalData,only:iname_soil                     ! named variables for soil
+USE globalData,only:iname_aquifer                  ! named variables for the aquifer
+
+! named variables to describe the state variable type
+USE globalData,only:iname_nrgCanair                ! named variable defining the energy of the canopy air space
+USE globalData,only:iname_nrgCanopy                ! named variable defining the energy of the vegetation canopy
+USE globalData,only:iname_nrgLayer                 ! named variable defining the energy state variable for snow+soil layers
+
+! missing values
+USE globalData,only:integerMissing                 ! missing integer
+USE globalData,only:realMissing                    ! missing real number
+
+! privacy
+implicit none
+private
+public::T2E_lookup
+public::t2enthalpy
+public::t2enthalpy_T
+
+! define the look-up table used to compute temperature based on enthalpy
+contains
+
     
+! ************************************************************************************************************************
+! public subroutine T2E_lookup: define a look-up table to compute enthalpy based on temperature
+! ************************************************************************************************************************
+subroutine T2E_lookup(nSoil,                       &  ! intent(in):    number of soil layers
+                        mpar_data,                   &  ! intent(in):    parameter data structure
+                        lookup_data,                 &  ! intent(inout): lookup table data structure
+                        err,message)
+  USE nr_utility_module,only:arth                       ! use to build vectors with regular increments
+  USE spline_int_module,only:spline,splint              ! use for cubic spline interpolation
+  USE soil_utils_module,only:volFracLiq                 ! use to compute the volumetric fraction of liquid water
+  implicit none
+  ! declare dummy variables
+  integer(i4b),intent(in)       :: nSoil
+  type(var_dlength),intent(in)  :: mpar_data            ! model parameters
+  type(zLookup),intent(inout)   :: lookup_data          ! lookup tables
+  integer(i4b),intent(out)      :: err                  ! error code
+  character(*),intent(out)      :: message              ! error message
+  ! declare local variables
+  character(len=128)            :: cmessage             ! error message in downwind routine
+  logical(lgt),parameter        :: doTest=.false.       ! flag to test
+  integer(i4b),parameter        :: nLook=100            ! number of elements in the lookup table
+  integer(i4b),parameter        :: nIntegr8=10000       ! number of points used in the numerical integration
+  real(rkind),parameter            :: T_lower=260.0_rkind     ! lowest temperature value where all liquid water is assumed frozen (K)
+  real(rkind),dimension(nLook)     :: xTemp                ! temporary vector
+  real(rkind)                      :: xIncr                ! temporary increment
+  real(rkind)                      :: T_incr               ! temperature increment
+  real(rkind),parameter            :: T_test=272.9742_rkind   ! test value for temperature (K)
+  real(rkind)                      :: E_test               ! test value for enthalpy (J m-3)
+  integer(i4b)                  :: iVar                 ! loop through variables
+  integer(i4b)                  :: iSoil                ! loop through soil layers
+  integer(i4b)                  :: iLook                ! loop through lookup table
+  integer(i4b)                  :: jIntegr8             ! index for numerical integration
+  logical(lgt)                  :: check                ! flag to check allocation
+  real(rkind)                      :: vGn_m                ! van Genuchten "m" parameter (-)
+  real(rkind)                      :: vFracLiq             ! volumetric fraction of liquid water (-)
+  real(rkind)                      :: vFracIce             ! volumetric fraction of ice (-)
+  real(rkind)                      :: matricHead           ! matric head (m)
+  ! initialize error control
+  err=0; message="T2E_lookup/"
+
+  ! get the values of temperature for the lookup table
+  xIncr = 1._rkind/real(nLook-1, kind(rkind))
+  xTemp = T_lower + (Tfreeze - T_lower)*arth(0._rkind,xIncr,nLook)**0.25_rkind ! use **0.25 to give more values near freezing
+
+  ! -----
+  ! * allocate space for the lookup table...
+  ! ----------------------------------------
+
+  ! initialize checks
+  check=.false.
+
+  ! allocate space for soil layers
+  if(allocated(lookup_data%z))then; check=.true.; else; allocate(lookup_data%z(nSoil), stat=err); endif
+  if(check) then; err=20; message=trim(message)//'lookup table z dimension was unexpectedly allocated already'; return; end if
+  if(err/=0)then; err=20; message=trim(message)//'problem allocating lookup table z dimension dimension'; return; end if
+
+  ! allocate space for the variables in the lookup table
+  do iSoil=1,nSoil
+    if(allocated(lookup_data%z(iSoil)%var))then; check=.true.; else; allocate(lookup_data%z(iSoil)%var(maxvarLookup), stat=err); endif
+    if(check) then; err=20; message=trim(message)//'lookup table var dimension was unexpectedly allocated already'; return; end if
+    if(err/=0)then; err=20; message=trim(message)//'problem allocating lookup table var dimension dimension'; return; end if
+
+    ! allocate space for the values in the lookup table
+    do iVar=1,maxvarLookup
+      if(allocated(lookup_data%z(iSoil)%var(iVar)%lookup))then; check=.true.; else; allocate(lookup_data%z(iSoil)%var(iVar)%lookup(nLook), stat=err); endif
+      if(check) then; err=20; message=trim(message)//'lookup table value dimension was unexpectedly allocated already'; return; end if
+      if(err/=0)then; err=20; message=trim(message)//'problem allocating lookup table vaule dimension dimension'; return; end if
+
+    end do ! (looping through variables)
+  end do ! (looping through soil layers)
+
+  ! loop through soil layers
+  do iSoil=1,nSoil
+    
+    ! -----
+    ! * make association to variables in the data structures...
+    ! ---------------------------------------------------------
+  
+    associate(&
+  
+    ! associate model parameters
+    snowfrz_scale  => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1)           , & ! scaling parameter for freezing     (K-1)
+    soil_dens_intr => mpar_data%var(iLookPARAM%soil_dens_intr)%dat(iSoil)      , & ! intrinsic soil density             (kg m-3)
+    theta_sat      => mpar_data%var(iLookPARAM%theta_sat)%dat(iSoil)           , & ! soil porosity                      (-)
+    theta_res      => mpar_data%var(iLookPARAM%theta_res)%dat(iSoil)           , & ! volumetric residual water content  (-)
+    vGn_alpha      => mpar_data%var(iLookPARAM%vGn_alpha)%dat(iSoil)           , & ! van Genuchten "alpha" parameter    (m-1)
+    vGn_n          => mpar_data%var(iLookPARAM%vGn_n)%dat(iSoil)               , & ! van Genuchten "n" parameter        (-)
+  
+    ! associate values in the lookup table
+    Tk            => lookup_data%z(iSoil)%var(iLookLOOKUP%temperature)%lookup  , & ! temperature (K)
+    Ey            => lookup_data%z(iSoil)%var(iLookLOOKUP%enthalpy)%lookup     , & ! enthalpy (J m-3)
+    E2            => lookup_data%z(iSoil)%var(iLookLOOKUP%deriv2)%lookup         & ! second derivative of the interpolating function
+  
+    ) ! end associate statement
+  
+    ! compute vGn_m
+    vGn_m = 1._rkind - 1._rkind/vGn_n
+  
       ! -----
       ! * populate the lookup table...
       ! ------------------------------
diff --git a/build/source/engine/sundials/type4IDA.f90 b/build/source/engine/sundials/type4IDA.f90
index 7251a29..e0988f3 100644
--- a/build/source/engine/sundials/type4IDA.f90
+++ b/build/source/engine/sundials/type4IDA.f90
@@ -17,62 +17,62 @@ USE data_types,only:&
 implicit none
 
  type eqnsData
-   type(c_ptr)                       	:: ida_mem                			! IDA memory
-   real(rkind)             				:: dt                     			! time step
-   integer(i4b)         				:: nSnow                  			! number of snow layers
-   integer(i4b)         				:: nSoil                  			! number of soil layers
-   integer(i4b)         				:: nLayers                			! total number of layers
-   integer              				:: nState                 			! total number of state variables
-   integer(i4b)         				:: ixMatrix               			! form of matrix (dense or banded)
-   logical(lgt)         				:: firstSubStep           			! flag to indicate if we are processing the first sub-step
-   logical(lgt)							:: firstFluxCall
-   logical(lgt)							:: firstSplitOper
-   logical(lgt)         				:: computeVegFlux         			! flag to indicate if computing fluxes over vegetation
-   logical(lgt)         				:: scalarSolution         			! flag to denote if implementing the scalar solution
-   type(zLookup)         				:: lookup_data            			! lookup tables
-   type(var_i)           				:: type_data              			! type of vegetation and soil
-   type(var_d)           				:: attr_data              			! spatial attributes
-   type(var_dlength)     				:: mpar_data              			! model parameters
-   type(var_d)           				:: forc_data              			! model forcing data
-   type(var_dlength)     				:: bvar_data              			! model variables for the local basin
-   type(var_dlength)     				:: prog_data              			! prognostic variables for a local HRU
-   type(var_ilength)     				:: indx_data              			! indices defining model states and layers
-   type(var_dlength)     				:: diag_data              			! diagnostic variables for a local HRU
-   type(var_dlength)     				:: flux_data              			! model fluxes for a local HRU
-   type(var_dlength)     				:: deriv_data             			! derivatives in model fluxes w.r.t. relevant state variables
-   real(rkind)								:: scalarCanopyTempTrial  			! trial value of canopy temperature (K)
-   real(rkind)								:: scalarCanopyTempPrev   			! previous value of canopy temperature (K)
-   real(rkind)								:: scalarCanopyIceTrial				! trial value of canopy ice content (kg m-2)
-   real(rkind)								:: scalarCanopyIcePrev				! value of canopy ice content (kg m-2) at previous step
-   real(rkind)								:: scalarCanopyLiqTrial				! trial value of canopy ice content (kg m-2)
-   real(rkind)								:: scalarCanopyLiqPrev				! value of canopy ice content (kg m-2) at previous step
-   real(rkind)								:: scalarCanopyEnthalpyTrial  		! trial enthalpy of the vegetation canopy (J m-3)
-   real(rkind)								:: scalarCanopyEnthalpyPrev 		! previous enthalpy of the vegetation canopy (J m-3)
-   real(qp), allocatable             	:: sMul(:)      		   			! state vector multiplier (used in the residual calculations)
-   real(rkind), allocatable             	:: dMat(:) 							! diagonal of the Jacobian matrix
-   real(rkind), allocatable              	:: fluxVec(:)             			! flux vector
-   real(qp), allocatable              	:: resSink(:) 						! additional (sink) terms on the RHS of the state equation
-   real(rkind), allocatable   				:: atol(:)							! vector of absolute tolerances
-   real(rkind), allocatable   				:: rtol(:) 							! vector of relative tolerances   
-   real(rkind), allocatable              	:: mLayerMatricHeadLiqTrial(:)		! trial value for liquid water matric potential (m)
-   real(rkind), allocatable              	:: mLayerMatricHeadTrial(:)         ! trial vector of total water matric potential (m)
-   real(rkind), allocatable              	:: mLayerMatricHeadPrev(:)			! vector of total water matric potential (m) at previous step
-   real(rkind), allocatable              	:: mLayerVolFracWatTrial(:)     	! trial value for volumetric fraction of total water (-)
-   real(rkind), allocatable              	:: mLayerVolFracWatPrev(:)			! value for volumetric fraction of total water (-) at previous step
-   real(rkind), allocatable              	:: mLayerVolFracIceTrial(:)     	! trial value for volumetric fraction of ice (-)
-   real(rkind), allocatable              	:: mLayerVolFracIcePrev(:)			! value for volumetric fraction of ice (-) at previous step
-   real(rkind), allocatable              	:: mLayerVolFracLiqTrial(:)     	! trial value for volumetric fraction of liquid water (-)
-   real(rkind), allocatable              	:: mLayerVolFracLiqPrev(:)			! value for volumetric fraction of liquid water (-) at previous step
-   real(rkind)								:: scalarAquiferStoragePrev
-   real(rkind)								:: scalarAquiferStorageTrial
-   real(rkind), allocatable              	:: mLayerEnthalpyTrial(:)			! trial enthalpy of snow and soil (J m-3)
-   real(rkind), allocatable              	:: mLayerEnthalpyPrev(:)			! enthalpy of snow and soil (J m-3) at previous step
-   real(rkind), allocatable              	:: mLayerTempTrial(:)				! trial vector of layer temperature (K)
-   real(rkind), allocatable              	:: mLayerTempPrev(:)				! vector of layer temperature (K) at previous step
-   real(rkind), allocatable              	:: dBaseflow_dMatric(:,:) 			! derivative in baseflow w.r.t. matric head (s-1)
-   integer								:: ixSaturation
-   integer(i4b)          				:: err                    			! error code
-   character(len = 50)          		:: message                			! error message
+   type(c_ptr)                            :: ida_mem                      ! IDA memory
+   real(rkind)                            :: dt                           ! time step
+   integer(i4b)                           :: nSnow                        ! number of snow layers
+   integer(i4b)                           :: nSoil                        ! number of soil layers
+   integer(i4b)                           :: nLayers                      ! total number of layers
+   integer                                :: nState                       ! total number of state variables
+   integer(i4b)                           :: ixMatrix                     ! form of matrix (dense or banded)
+   logical(lgt)                           :: firstSubStep                 ! flag to indicate if we are processing the first sub-step
+   logical(lgt)                           :: firstFluxCall
+   logical(lgt)                           :: firstSplitOper
+   logical(lgt)                           :: computeVegFlux               ! flag to indicate if computing fluxes over vegetation
+   logical(lgt)                           :: scalarSolution               ! flag to denote if implementing the scalar solution
+   type(zLookup)                          :: lookup_data                  ! lookup tables
+   type(var_i)                            :: type_data                    ! type of vegetation and soil
+   type(var_d)                            :: attr_data                    ! spatial attributes
+   type(var_dlength)                      :: mpar_data                    ! model parameters
+   type(var_d)                            :: forc_data                    ! model forcing data
+   type(var_dlength)                      :: bvar_data                    ! model variables for the local basin
+   type(var_dlength)                      :: prog_data                    ! prognostic variables for a local HRU
+   type(var_ilength)                      :: indx_data                    ! indices defining model states and layers
+   type(var_dlength)                      :: diag_data                    ! diagnostic variables for a local HRU
+   type(var_dlength)                      :: flux_data                    ! model fluxes for a local HRU
+   type(var_dlength)                      :: deriv_data                   ! derivatives in model fluxes w.r.t. relevant state variables
+   real(rkind)                            :: scalarCanopyTempTrial        ! trial value of canopy temperature (K)
+   real(rkind)                            :: scalarCanopyTempPrev         ! previous value of canopy temperature (K)
+   real(rkind)                            :: scalarCanopyIceTrial         ! trial value of canopy ice content (kg m-2)
+   real(rkind)                            :: scalarCanopyIcePrev          ! value of canopy ice content (kg m-2) at previous step
+   real(rkind)                            :: scalarCanopyLiqTrial         ! trial value of canopy ice content (kg m-2)
+   real(rkind)                            :: scalarCanopyLiqPrev          ! value of canopy ice content (kg m-2) at previous step
+   real(rkind)                            :: scalarCanopyEnthalpyTrial    ! trial enthalpy of the vegetation canopy (J m-3)
+   real(rkind)                            :: scalarCanopyEnthalpyPrev     ! previous enthalpy of the vegetation canopy (J m-3)
+   real(qp), allocatable                  :: sMul(:)                      ! state vector multiplier (used in the residual calculations)
+   real(rkind), allocatable               :: dMat(:)                      ! diagonal of the Jacobian matrix
+   real(rkind), allocatable               :: fluxVec(:)                   ! flux vector
+   real(qp), allocatable                  :: resSink(:)                   ! additional (sink) terms on the RHS of the state equation
+   real(rkind), allocatable               :: atol(:)                      ! vector of absolute tolerances
+   real(rkind), allocatable               :: rtol(:)                      ! vector of relative tolerances   
+   real(rkind), allocatable               :: mLayerMatricHeadLiqTrial(:)  ! trial value for liquid water matric potential (m)
+   real(rkind), allocatable               :: mLayerMatricHeadTrial(:)     ! trial vector of total water matric potential (m)
+   real(rkind), allocatable               :: mLayerMatricHeadPrev(:)      ! vector of total water matric potential (m) at previous step
+   real(rkind), allocatable               :: mLayerVolFracWatTrial(:)     ! trial value for volumetric fraction of total water (-)
+   real(rkind), allocatable               :: mLayerVolFracWatPrev(:)      ! value for volumetric fraction of total water (-) at previous step
+   real(rkind), allocatable               :: mLayerVolFracIceTrial(:)     ! trial value for volumetric fraction of ice (-)
+   real(rkind), allocatable               :: mLayerVolFracIcePrev(:)      ! value for volumetric fraction of ice (-) at previous step
+   real(rkind), allocatable               :: mLayerVolFracLiqTrial(:)     ! trial value for volumetric fraction of liquid water (-)
+   real(rkind), allocatable               :: mLayerVolFracLiqPrev(:)      ! value for volumetric fraction of liquid water (-) at previous step
+   real(rkind)                            :: scalarAquiferStoragePrev
+   real(rkind)                            :: scalarAquiferStorageTrial
+   real(rkind), allocatable               :: mLayerEnthalpyTrial(:)       ! trial enthalpy of snow and soil (J m-3)
+   real(rkind), allocatable               :: mLayerEnthalpyPrev(:)        ! enthalpy of snow and soil (J m-3) at previous step
+   real(rkind), allocatable               :: mLayerTempTrial(:)           ! trial vector of layer temperature (K)
+   real(rkind), allocatable               :: mLayerTempPrev(:)            ! vector of layer temperature (K) at previous step
+   real(rkind), allocatable               :: dBaseflow_dMatric(:,:)       ! derivative in baseflow w.r.t. matric head (s-1)
+   integer                                :: ixSaturation
+   integer(i4b)                           :: err                          ! error code
+   character(len = 50)                    :: message                      ! error message
  end type eqnsData
  
  
diff --git a/build/source/engine/sundials/varSubstepSundials.f90 b/build/source/engine/sundials/varSubstepSundials.f90
index 9b857f7..822a41e 100644
--- a/build/source/engine/sundials/varSubstepSundials.f90
+++ b/build/source/engine/sundials/varSubstepSundials.f90
@@ -121,7 +121,7 @@ subroutine varSubstepSundials(&
                        failedMinimumStep, & ! intent(out)   : flag to denote success of substepping for a given split
                        reduceCoupledStep, & ! intent(out)   : flag to denote need to reduce the length of the coupled step
                        tooMuchMelt,       & ! intent(out)   : flag to denote that ice is insufficient to support melt
-                       dt_out,			  & ! intent(out)
+                       dt_out,            & ! intent(out)
                        err,message)         ! intent(out)   : error code and error message
   ! ---------------------------------------------------------------------------------------
   ! structure allocations
@@ -172,7 +172,7 @@ subroutine varSubstepSundials(&
   logical(lgt),intent(out)           :: failedMinimumStep             ! flag to denote success of substepping for a given split
   logical(lgt),intent(out)           :: reduceCoupledStep             ! flag to denote need to reduce the length of the coupled step
   logical(lgt),intent(out)           :: tooMuchMelt                   ! flag to denote that ice is insufficient to support melt
-  real(qp),intent(out)   		        :: dt_out
+  real(qp),intent(out)               :: dt_out
   integer(i4b),intent(out)           :: err                           ! error code
   character(*),intent(out)           :: message                       ! error message
   ! ---------------------------------------------------------------------------------------
@@ -290,19 +290,19 @@ subroutine varSubstepSundials(&
   ! NOTE: continuous do statement with exit clause
   substeps: do
 
-  ! initialize error control
-  err=0; message='varSubstepSundials/'
+    ! initialize error control
+    err=0; message='varSubstepSundials/'
 
-  !write(*,'(a,1x,3(f13.2,1x))') '***** new subStep: dtSubstep, dtSum, dt = ', dtSubstep, dtSum, dt
-  !print*, 'scalarCanopyIce  = ', prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)
-  !print*, 'scalarCanopyTemp = ', prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)
+    !write(*,'(a,1x,3(f13.2,1x))') '***** new subStep: dtSubstep, dtSum, dt = ', dtSubstep, dtSum, dt
+    !print*, 'scalarCanopyIce  = ', prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)
+    !print*, 'scalarCanopyTemp = ', prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)
 
-  ! -----
-  ! * populate state vectors...
-  ! ---------------------------
+    ! -----
+    ! * populate state vectors...
+    ! ---------------------------
 
-  ! initialize state vectors
-  call popStateVec(&
+    ! initialize state vectors
+    call popStateVec(&
                    ! input
                    nState,                           & ! intent(in):    number of desired state variables
                    prog_data,                        & ! intent(in):    model prognostic variables for a local HRU
@@ -311,13 +311,17 @@ subroutine varSubstepSundials(&
                    ! output
                    stateVecInit,                     & ! intent(out):   initial model state vector (mixed units)
                    err,cmessage)                       ! intent(out):   error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; endif  ! (check for errors)
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    endif  ! (check for errors)
 
-  ! -----
-  ! * iterative solution...
-  ! -----------------------
-  ! solve the system of equations for a given state subset
-  call systemSolvSundials(&
+    ! -----
+    ! * iterative solution...
+    ! -----------------------
+    ! solve the system of equations for a given state subset
+    call systemSolvSundials(&
                   ! input: model control
                   dtSubstep,         & ! intent(in):    time step (s)
                   nState,            & ! intent(in):    total number of state variables
@@ -346,208 +350,212 @@ subroutine varSubstepSundials(&
                   stateVecPrime,     & ! intent(out):   updated state vector
                   reduceCoupledStep, & ! intent(out):   flag to reduce the length of the coupled step
                   tooMuchMelt,       & ! intent(out):   flag to denote that ice is insufficient to support melt
-                  dt_out,			       & ! intent(out):   time step (s)
+                  dt_out,            & ! intent(out):   time step (s)
                   err,cmessage)        ! intent(out):   error code and error message
 
-  if(err/=0)then
-   message=trim(message)//trim(cmessage)
-   if(err>0) return
-  endif
-
-  ! set untapped melt energy to zero
-  untappedMelt(:) = 0._rkind
-
-  ! if too much melt or need to reduce length of the coupled step then return
-  ! NOTE: need to go all the way back to coupled_em and merge snow layers, as all splitting operations need to occur with the same layer geometry
-  if(tooMuchMelt .or. reduceCoupledStep) return
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      if(err>0) return
+    endif
 
-  ! identify failure
-  failedSubstep = (err<0)
+    ! set untapped melt energy to zero
+    untappedMelt(:) = 0._rkind
 
-  ! reduce step based on failure
-  if(failedSubstep)then
-    err=0; message='varSubstepSundials/'  ! recover from failed convergence
-    dtMultiplier  = 0.5_rkind        ! system failure: step halving
-  else
+    ! if too much melt or need to reduce length of the coupled step then return
+    ! NOTE: need to go all the way back to coupled_em and merge snow layers, as all splitting operations need to occur with the same layer geometry
+    if(tooMuchMelt .or. reduceCoupledStep) return
 
-  endif  ! switch between failure and success
-
-  ! check if we failed the substep
-  if(failedSubstep)then
-
-   ! check that the substep is greater than the minimum step
-   if(dtSubstep*dtMultiplier<dt_min)then
-    ! --> exit, and either (1) try another solution method; or (2) reduce coupled step
-    failedMinimumStep=.true.
-    exit subSteps
-
-   else ! step is still OK
-    dtSubstep = dtSubstep*dtMultiplier
-    cycle subSteps
-   endif  ! if step is less than the minimum
-
-  endif  ! if failed the substep
-
-  ! -----
-  ! * update model fluxes...
-  ! ------------------------
-
-  ! NOTE: if we get to here then we are accepting the step
-
-  ! NOTE: we get to here if iterations are successful
-  if(err/=0)then
-   message=trim(message)//'expect err=0 if updating fluxes'
-   return
-  endif
+      ! identify failure
+      failedSubstep = (err<0)
 
-  ! identify the need to check the mass balance
-  checkMassBalance = .true. ! (.not.scalarSolution)
-  checkNrgBalance = .true.
+      ! reduce step based on failure
+      if(failedSubstep)then
+        err=0; message='varSubstepSundials/'  ! recover from failed convergence
+        dtMultiplier  = 0.5_rkind        ! system failure: step halving
+      else
 
-  ! update prognostic variables
-  call updateProgSundials(dt_out,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux,untappedMelt,stateVecTrial,stateVecPrime,checkMassBalance, checkNrgBalance, & ! input: model control
-                  lookup_data,mpar_data,indx_data,flux_temp,prog_data,diag_data,deriv_data,                               & ! input-output: data structures
-                  waterBalanceError,nrgFluxModified,err,cmessage)                                                           ! output: flags and error control
-  if(err/=0)then
-   message=trim(message)//trim(cmessage)
-   if(err>0) return
-  endif
+    endif  ! switch between failure and success
 
-  ! if water balance error then reduce the length of the coupled step
-  if(waterBalanceError)then
-   message=trim(message)//'water balance error'
-   reduceCoupledStep=.true.
-   err=-20; return
-  endif
+    ! check if we failed the substep
+    if(failedSubstep)then
 
-  if(globalPrintFlag)&
-  print*, trim(cmessage)//': dt = ', dtSubstep
-
-  ! recover from errors in prognostic update
-  if(err<0)then
-
-   ! modify step
-   err=0  ! error recovery
-   dtSubstep = dtSubstep/2._rkind
-
-   ! check minimum: fail minimum step if there is an error in the update
-   if(dtSubstep<dt_min)then
-    failedMinimumStep=.true.
-    exit subSteps
-   ! minimum OK -- try again
-   else
-    cycle substeps
-   endif
-
-  endif  ! if errors in prognostic update
-
-  ! get the total energy fluxes (modified in updateProgSundials)
-  if(nrgFluxModified .or. indx_data%var(iLookINDEX%ixVegNrg)%dat(1)/=integerMissing)then
-   sumCanopyEvaporation = sumCanopyEvaporation + dt_out*flux_temp%var(iLookFLUX%scalarCanopyEvaporation)%dat(1) ! canopy evaporation/condensation (kg m-2 s-1)
-   sumLatHeatCanopyEvap = sumLatHeatCanopyEvap + dt_out*flux_temp%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1) ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
-   sumSenHeatCanopy     = sumSenHeatCanopy     + dt_out*flux_temp%var(iLookFLUX%scalarSenHeatCanopy)%dat(1)     ! sensible heat flux from the canopy to the canopy air space (W m-2)
-  else
-   sumCanopyEvaporation = sumCanopyEvaporation + dt_out*flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1) ! canopy evaporation/condensation (kg m-2 s-1)
-   sumLatHeatCanopyEvap = sumLatHeatCanopyEvap + dt_out*flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1) ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
-   sumSenHeatCanopy     = sumSenHeatCanopy     + dt_out*flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1)     ! sensible heat flux from the canopy to the canopy air space (W m-2)
-  endif  ! if energy fluxes were modified
-
-  ! get the total soil compression
-  if (count(indx_data%var(iLookINDEX%ixSoilOnlyHyd)%dat/=integerMissing)>0) then
-   ! scalar compression
-   if(.not.scalarSolution .or. iStateSplit==nSoil)&
-   sumSoilCompress = sumSoilCompress + diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1) ! total soil compression
-   ! vector compression
-   do iSoil=1,nSoil
-    if(indx_data%var(iLookINDEX%ixSoilOnlyHyd)%dat(iSoil)/=integerMissing)&
-    sumLayerCompress(iSoil) = sumLayerCompress(iSoil) + diag_data%var(iLookDIAG%mLayerCompress)%dat(iSoil) ! soil compression in layers
-   end do
-  endif
+      ! check that the substep is greater than the minimum step
+      if(dtSubstep*dtMultiplier<dt_min)then
+        ! --> exit, and either (1) try another solution method; or (2) reduce coupled step
+        failedMinimumStep=.true.
+        exit subSteps
 
-  ! print progress
-  if(globalPrintFlag)&
-  write(*,'(a,1x,3(f13.2,1x))') 'updating: dtSubstep, dtSum, dt = ', dtSubstep, dtSum, dt
+      else ! step is still OK
+        dtSubstep = dtSubstep*dtMultiplier
+        cycle subSteps
+      endif  ! if step is less than the minimum
 
-  ! increment fluxes
-  dt_wght = 1._qp !dt_out/dt ! (define weight applied to each splitting operation)
-  do iVar=1,size(flux_meta)
-   if(count(fluxMask%var(iVar)%dat)>0) then
+    endif  ! if failed the substep
 
-    !print*, flux_meta(iVar)%varname, fluxMask%var(iVar)%dat
+    ! -----
+    ! * update model fluxes...
+    ! ------------------------
 
-    ! ** no domain splitting
-    if(count(ixLayerActive/=integerMissing)==nLayers)then
-     flux_data%var(iVar)%dat(:) = flux_data%var(iVar)%dat(:) + flux_temp%var(iVar)%dat(:)*dt_wght
-     fluxCount%var(iVar)%dat(:) = fluxCount%var(iVar)%dat(:) + 1
+    ! NOTE: if we get to here then we are accepting the step
 
-    ! ** domain splitting
-    else
-     ixMin=lbound(flux_data%var(iVar)%dat)
-     ixMax=ubound(flux_data%var(iVar)%dat)
-     do ixLayer=ixMin(1),ixMax(1)
-      if(fluxMask%var(iVar)%dat(ixLayer)) then
-       flux_data%var(iVar)%dat(ixLayer) = flux_data%var(iVar)%dat(ixLayer) + flux_temp%var(iVar)%dat(ixLayer)*dt_wght
-       fluxCount%var(iVar)%dat(ixLayer) = fluxCount%var(iVar)%dat(ixLayer) + 1
+    ! NOTE: we get to here if iterations are successful
+    if(err/=0)then
+      message=trim(message)//'expect err=0 if updating fluxes'
+      print*, message
+      return
+    endif
+
+    ! identify the need to check the mass balance
+    checkMassBalance = .true. ! (.not.scalarSolution)
+    checkNrgBalance = .true.
+
+    ! update prognostic variables
+    call updateProgSundials(dt_out,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux,untappedMelt,stateVecTrial,stateVecPrime,checkMassBalance, checkNrgBalance, & ! input: model control
+                   lookup_data,mpar_data,indx_data,flux_temp,prog_data,diag_data,deriv_data,                               & ! input-output: data structures
+                    waterBalanceError,nrgFluxModified,err,cmessage)                                                           ! output: flags and error control
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      if(err>0) return
+    endif
+
+    ! if water balance error then reduce the length of the coupled step
+    if(waterBalanceError)then
+      message=trim(message)//'water balance error'
+      reduceCoupledStep=.true.
+      err=-20; return
+    endif
+
+    if(globalPrintFlag)&
+      print*, trim(cmessage)//': dt = ', dtSubstep
+
+    ! recover from errors in prognostic update
+    if(err<0)then
+
+      ! modify step
+      err=0  ! error recovery
+      dtSubstep = dtSubstep/2._rkind
+
+      ! check minimum: fail minimum step if there is an error in the update
+      if(dtSubstep<dt_min)then
+        failedMinimumStep=.true.
+        exit subSteps
+      ! minimum OK -- try again
+      else
+        cycle substeps
       endif
-     end do
-    endif  ! (domain splitting)
-
-   endif   ! (if the flux is desired)
-  end do  ! (loop through fluxes)
 
-  ! ------------------------------------------------------
-  ! ------------------------------------------------------
+    endif  ! if errors in prognostic update
 
-  ! increment the number of substeps
-  nSubsteps = nSubsteps+1
+    ! get the total energy fluxes (modified in updateProgSundials)
+    if(nrgFluxModified .or. indx_data%var(iLookINDEX%ixVegNrg)%dat(1)/=integerMissing)then
+      sumCanopyEvaporation = sumCanopyEvaporation + dt_out*flux_temp%var(iLookFLUX%scalarCanopyEvaporation)%dat(1) ! canopy evaporation/condensation (kg m-2 s-1)
+      sumLatHeatCanopyEvap = sumLatHeatCanopyEvap + dt_out*flux_temp%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1) ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+      sumSenHeatCanopy     = sumSenHeatCanopy     + dt_out*flux_temp%var(iLookFLUX%scalarSenHeatCanopy)%dat(1)     ! sensible heat flux from the canopy to the canopy air space (W m-2)
+    else
+      sumCanopyEvaporation = sumCanopyEvaporation + dt_out*flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1) ! canopy evaporation/condensation (kg m-2 s-1)
+      sumLatHeatCanopyEvap = sumLatHeatCanopyEvap + dt_out*flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1) ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+      sumSenHeatCanopy     = sumSenHeatCanopy     + dt_out*flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1)     ! sensible heat flux from the canopy to the canopy air space (W m-2)
+    endif  ! if energy fluxes were modified
+
+    ! get the total soil compression
+    if (count(indx_data%var(iLookINDEX%ixSoilOnlyHyd)%dat/=integerMissing)>0) then
+      ! scalar compression
+      if(.not.scalarSolution .or. iStateSplit==nSoil)&
+        sumSoilCompress = sumSoilCompress + diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1) ! total soil compression
+      ! vector compression
+      do iSoil=1,nSoil
+        if(indx_data%var(iLookINDEX%ixSoilOnlyHyd)%dat(iSoil)/=integerMissing)&
+          sumLayerCompress(iSoil) = sumLayerCompress(iSoil) + diag_data%var(iLookDIAG%mLayerCompress)%dat(iSoil) ! soil compression in layers
+      end do
+    endif
+
+    ! print progress
+    if(globalPrintFlag)&
+      write(*,'(a,1x,3(f13.2,1x))') 'updating: dtSubstep, dtSum, dt = ', dtSubstep, dtSum, dt
+
+    ! increment fluxes
+    dt_wght = 1._qp !dt_out/dt ! (define weight applied to each splitting operation)
+    do iVar=1,size(flux_meta)
+      if(count(fluxMask%var(iVar)%dat)>0) then
+
+        !print*, flux_meta(iVar)%varname, fluxMask%var(iVar)%dat
+
+        ! ** no domain splitting
+        if(count(ixLayerActive/=integerMissing)==nLayers)then
+          flux_data%var(iVar)%dat(:) = flux_data%var(iVar)%dat(:) + flux_temp%var(iVar)%dat(:)*dt_wght
+          fluxCount%var(iVar)%dat(:) = fluxCount%var(iVar)%dat(:) + 1
+
+          ! ** domain splitting
+        else
+          ixMin=lbound(flux_data%var(iVar)%dat)
+          ixMax=ubound(flux_data%var(iVar)%dat)
+          do ixLayer=ixMin(1),ixMax(1)
+            if(fluxMask%var(iVar)%dat(ixLayer)) then
+              flux_data%var(iVar)%dat(ixLayer) = flux_data%var(iVar)%dat(ixLayer) + flux_temp%var(iVar)%dat(ixLayer)*dt_wght
+              fluxCount%var(iVar)%dat(ixLayer) = fluxCount%var(iVar)%dat(ixLayer) + 1
+            endif
+          end do
+        endif  ! (domain splitting)
+
+      endif   ! (if the flux is desired)
+    end do  ! (loop through fluxes)
+
+    ! ------------------------------------------------------
+    ! ------------------------------------------------------
+
+    ! increment the number of substeps
+    nSubsteps = nSubsteps+1
+
+    ! increment the sub-step legth
+    dtSum = dtSum + dtSubstep
+    !print*, 'dtSum, dtSubstep, dt, nSubsteps = ', dtSum, dtSubstep, dt, nSubsteps
+
+    ! check that we have completed the sub-step
+    if(dtSum >= dt-verySmall)then
+      failedMinimumStep=.false.
+      exit subSteps
+    endif
+
+    ! adjust length of the sub-step (make sure that we don't exceed the step)
+    dtSubstep = min(dt - dtSum, max(dtSubstep*dtMultiplier, dt_min) )
+
+  end do substeps  ! time steps for variable-dependent sub-stepping
+
+  ! save the energy fluxes
+  flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1) = sumCanopyEvaporation /dt_out      ! canopy evaporation/condensation (kg m-2 s-1)
+  flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1) = sumLatHeatCanopyEvap /dt_out      ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+  flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1)     = sumSenHeatCanopy     /dt_out      ! sensible heat flux from the canopy to the canopy air space (W m-2)
+
+  ! save the soil compression diagnostics
+  diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1) = sumSoilCompress
+  do iSoil=1,nSoil
+    if(indx_data%var(iLookINDEX%ixSoilOnlyHyd)%dat(iSoil)/=integerMissing)&
+      diag_data%var(iLookDIAG%mLayerCompress)%dat(iSoil) = sumLayerCompress(iSoil)
+  end do
+  deallocate(sumLayerCompress)
 
-  ! increment the sub-step legth
-  dtSum = dtSum + dtSubstep
-  !print*, 'dtSum, dtSubstep, dt, nSubsteps = ', dtSum, dtSubstep, dt, nSubsteps
+  ! end associate statements
+  end associate globalVars
 
-  ! check that we have completed the sub-step
-  if(dtSum >= dt-verySmall)then
-   failedMinimumStep=.false.
-   exit subSteps
+  ! update error codes
+  if(failedMinimumStep)then
+    err=-20 ! negative = recoverable error
+    message=trim(message)//'failed minimum step'
+    print*, message
   endif
 
-  ! adjust length of the sub-step (make sure that we don't exceed the step)
-  dtSubstep = min(dt - dtSum, max(dtSubstep*dtMultiplier, dt_min) )
-
- end do substeps  ! time steps for variable-dependent sub-stepping
-
- ! save the energy fluxes
- flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1) = sumCanopyEvaporation /dt_out      ! canopy evaporation/condensation (kg m-2 s-1)
- flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1) = sumLatHeatCanopyEvap /dt_out      ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
- flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1)     = sumSenHeatCanopy     /dt_out      ! sensible heat flux from the canopy to the canopy air space (W m-2)
-
- ! save the soil compression diagnostics
- diag_data%var(iLookDIAG%scalarSoilCompress)%dat(1) = sumSoilCompress
- do iSoil=1,nSoil
-  if(indx_data%var(iLookINDEX%ixSoilOnlyHyd)%dat(iSoil)/=integerMissing)&
-  diag_data%var(iLookDIAG%mLayerCompress)%dat(iSoil) = sumLayerCompress(iSoil)
- end do
- deallocate(sumLayerCompress)
-
- ! end associate statements
- end associate globalVars
-
- ! update error codes
- if(failedMinimumStep)then
-  err=-20 ! negative = recoverable error
-  message=trim(message)//'failed minimum step'
- endif
-
 
- end subroutine varSubstepSundials
+end subroutine varSubstepSundials
 
 
 ! **********************************************************************************************************
 ! private subroutine updateProgSundials: update prognostic variables
 ! **********************************************************************************************************
 subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux,untappedMelt,stateVecTrial,stateVecPrime,checkMassBalance, checkNrgBalance, & ! input: model control
-                       lookup_data,mpar_data,indx_data,flux_data,prog_data,diag_data,deriv_data,                                   & ! input-output: data structures
-                       waterBalanceError,nrgFluxModified,err,message)                                                    ! output: flags and error control
+                              lookup_data,mpar_data,indx_data,flux_data,prog_data,diag_data,deriv_data,                                   & ! input-output: data structures
+                              waterBalanceError,nrgFluxModified,err,message)                                                                ! output: flags and error control
   USE getVectorz_module,only:varExtract                             ! extract variables from the state vector
   USE updateVarsSundials_module,only:updateVarsSundials                             ! update prognostic variables
   USE varExtrSundials_module, only:varExtractSundials
@@ -721,30 +729,38 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
                   scalarAquiferStorageTrial,& ! intent(out):   trial value of storage of water in the aquifer (m)
                   ! output: error control
                   err,cmessage)               ! intent(out):   error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
-
-    call varExtractSundials(&
-                  ! input
-                  stateVecPrime,            & ! intent(in):    derivative of model state vector (mixed units)
-                  diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
-                  prog_data,                & ! intent(in):    model prognostic variables for a local HRU
-                  indx_data,                & ! intent(in):    indices defining model states and layers
-                  ! output: variables for the vegetation canopy
-                  scalarCanairTempPrime,    & ! intent(out):   derivative of canopy air temperature (K)
-                  scalarCanopyTempPrime,    & ! intent(out):   derivative of canopy temperature (K)
-                  scalarCanopyWatPrime,     & ! intent(out):   derivative of canopy total water (kg m-2)
-                  scalarCanopyLiqPrime,     & ! intent(out):   derivative of canopy liquid water (kg m-2)
-                  ! output: variables for the snow-soil domain
-                  mLayerTempPrime,          & ! intent(out):   derivative of layer temperature (K)
-                  mLayerVolFracWatPrime,    & ! intent(out):   derivative of volumetric total water content (-)
-                  mLayerVolFracLiqPrime,    & ! intent(out):   derivative of volumetric liquid water content (-)
-                  mLayerMatricHeadPrime,    & ! intent(out):   derivative of total water matric potential (m)
-                  mLayerMatricHeadLiqPrime, & ! intent(out):   derivative of liquid water matric potential (m)
-                  ! output: variables for the aquifer
-                  scalarAquiferStoragePrime,& ! intent(out):   derivative of storage of water in the aquifer (m)
-                  ! output: error control
-                  err,cmessage)               ! intent(out):   error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
+
+  call varExtractSundials(&
+                ! input
+                stateVecPrime,            & ! intent(in):    derivative of model state vector (mixed units)
+                diag_data,                & ! intent(in):    model diagnostic variables for a local HRU
+                prog_data,                & ! intent(in):    model prognostic variables for a local HRU
+                indx_data,                & ! intent(in):    indices defining model states and layers
+                ! output: variables for the vegetation canopy
+                scalarCanairTempPrime,    & ! intent(out):   derivative of canopy air temperature (K)
+                scalarCanopyTempPrime,    & ! intent(out):   derivative of canopy temperature (K)
+                scalarCanopyWatPrime,     & ! intent(out):   derivative of canopy total water (kg m-2)
+                scalarCanopyLiqPrime,     & ! intent(out):   derivative of canopy liquid water (kg m-2)
+                ! output: variables for the snow-soil domain
+                mLayerTempPrime,          & ! intent(out):   derivative of layer temperature (K)
+                mLayerVolFracWatPrime,    & ! intent(out):   derivative of volumetric total water content (-)
+                mLayerVolFracLiqPrime,    & ! intent(out):   derivative of volumetric liquid water content (-)
+                mLayerMatricHeadPrime,    & ! intent(out):   derivative of total water matric potential (m)
+                mLayerMatricHeadLiqPrime, & ! intent(out):   derivative of liquid water matric potential (m)
+                ! output: variables for the aquifer
+                scalarAquiferStoragePrime,& ! intent(out):   derivative of storage of water in the aquifer (m)
+                ! output: error control
+                err,cmessage)               ! intent(out):   error control
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
 
 
     ! update diagnostic variables
@@ -783,15 +799,19 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
                   mLayerMatricHeadLiqPrime,                  & ! intent(inout): Prime vector of liquid water matric potential (m)
                   ! output: error control
                   err,cmessage)                                ! intent(out):   error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if  ! (check for errors)
+  if(err/=0)then
+    message=trim(message)//trim(cmessage)
+    print*, message
+    return
+  end if  ! (check for errors)
 
   ! ----
   ! * check energy balance
   !------------------------
   ! NOTE: for now, we just compute enthalpy
   if(checkNrgBalance)then
-        ! compute enthalpy at t_{n+1}
-        call t2enthalpy(&
+    ! compute enthalpy at t_{n+1}
+    call t2enthalpy(&
                     ! input: data structures
                     diag_data,                   & ! intent(in):  model diagnostic variables for a local HRU
                     mpar_data,                   & ! intent(in):  parameter data structure
@@ -813,7 +833,11 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
                     mLayerEnthalpyTrial,             & ! intent(out):  enthalpy of each snow+soil layer (J m-3)
                     ! output: error control
                     err,cmessage)                  ! intent(out): error control
-        if(err/=0)then; message=trim(message)//trim(cmessage); return; endif
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    endif
 
   endif
 
@@ -827,86 +851,87 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
     ! check mass balance for the canopy
     if(ixVegHyd/=integerMissing)then
 
-    ! handle cases where fluxes empty the canopy
-    fluxNet = scalarRainfall + scalarCanopyEvaporation - scalarThroughfallRain - scalarCanopyLiqDrainage
-    if(-fluxNet*dt > canopyBalance0)then
-
-      ! --> first add water
-      canopyBalance1 = canopyBalance0 + (scalarRainfall - scalarThroughfallRain)*dt
-
-      ! --> next, remove canopy evaporation -- put the unsatisfied evap into sensible heat
-      canopyBalance1 = canopyBalance1 + scalarCanopyEvaporation*dt
-      if(canopyBalance1 < 0._rkind)then
-      ! * get superfluous water and energy
-      superflousWat = -canopyBalance1/dt     ! kg m-2 s-1
-      superflousNrg = superflousWat*LH_vap   ! W m-2 (J m-2 s-1)
-      ! * update fluxes and states
-      canopyBalance1          = 0._rkind
-      scalarCanopyEvaporation = scalarCanopyEvaporation + superflousWat
-      scalarLatHeatCanopyEvap = scalarLatHeatCanopyEvap + superflousNrg
-      scalarSenHeatCanopy     = scalarSenHeatCanopy - superflousNrg
-      endif
-
-      ! --> next, remove canopy drainage
-      canopyBalance1 = canopyBalance1 - scalarCanopyLiqDrainage*dt
-      if(canopyBalance1 < 0._rkind)then
-      superflousWat            = -canopyBalance1/dt     ! kg m-2 s-1
-      canopyBalance1          = 0._rkind
-      scalarCanopyLiqDrainage = scalarCanopyLiqDrainage + superflousWat
-      endif
-
-      ! update the trial state
-      scalarCanopyWatTrial = canopyBalance1
-
-      ! set the modification flag
-      nrgFluxModified = .true.
+      ! handle cases where fluxes empty the canopy
+      fluxNet = scalarRainfall + scalarCanopyEvaporation - scalarThroughfallRain - scalarCanopyLiqDrainage
+      if(-fluxNet*dt > canopyBalance0)then
+
+        ! --> first add water
+        canopyBalance1 = canopyBalance0 + (scalarRainfall - scalarThroughfallRain)*dt
+
+        ! --> next, remove canopy evaporation -- put the unsatisfied evap into sensible heat
+        canopyBalance1 = canopyBalance1 + scalarCanopyEvaporation*dt
+        if(canopyBalance1 < 0._rkind)then
+          ! * get superfluous water and energy
+          superflousWat = -canopyBalance1/dt     ! kg m-2 s-1
+          superflousNrg = superflousWat*LH_vap   ! W m-2 (J m-2 s-1)
+          ! * update fluxes and states
+          canopyBalance1          = 0._rkind
+          scalarCanopyEvaporation = scalarCanopyEvaporation + superflousWat
+          scalarLatHeatCanopyEvap = scalarLatHeatCanopyEvap + superflousNrg
+          scalarSenHeatCanopy     = scalarSenHeatCanopy - superflousNrg
+        endif
+
+        ! --> next, remove canopy drainage
+        canopyBalance1 = canopyBalance1 - scalarCanopyLiqDrainage*dt
+        if(canopyBalance1 < 0._rkind)then
+          superflousWat            = -canopyBalance1/dt     ! kg m-2 s-1
+          canopyBalance1          = 0._rkind
+          scalarCanopyLiqDrainage = scalarCanopyLiqDrainage + superflousWat
+        endif
+
+        ! update the trial state
+        scalarCanopyWatTrial = canopyBalance1
+
+        ! set the modification flag
+        nrgFluxModified = .true.
 
-    else
-      canopyBalance1  = canopyBalance0 + fluxNet*dt
-      nrgFluxModified = .false.
-    endif  ! cases where fluxes empty the canopy
-
-    ! check the mass balance
-    fluxNet  = scalarRainfall + scalarCanopyEvaporation - scalarThroughfallRain - scalarCanopyLiqDrainage
-    liqError = (canopyBalance0 + fluxNet*dt) - scalarCanopyWatTrial
-    if(abs(liqError) > absConvTol_liquid*10._rkind*iden_water)then  ! *10 because of precision issues
-      !write(*,'(a,1x,f20.10)') 'dt = ', dt
-      !write(*,'(a,1x,f20.10)') 'scalarCanopyWatTrial       = ', scalarCanopyWatTrial
-      !write(*,'(a,1x,f20.10)') 'canopyBalance0             = ', canopyBalance0
-      !write(*,'(a,1x,f20.10)') 'canopyBalance1             = ', canopyBalance1
-      !write(*,'(a,1x,f20.10)') 'scalarRainfall*dt          = ', scalarRainfall*dt
-      !write(*,'(a,1x,f20.10)') 'scalarCanopyLiqDrainage*dt = ', scalarCanopyLiqDrainage*dt
-      !write(*,'(a,1x,f20.10)') 'scalarCanopyEvaporation*dt = ', scalarCanopyEvaporation*dt
-      !write(*,'(a,1x,f20.10)') 'scalarThroughfallRain*dt   = ', scalarThroughfallRain*dt
-      !write(*,'(a,1x,f20.10)') 'liqError                   = ', liqError
-      waterBalanceError = .true.
-      return
-    endif  ! if there is a water balance error
+      else
+        canopyBalance1  = canopyBalance0 + fluxNet*dt
+        nrgFluxModified = .false.
+      endif  ! cases where fluxes empty the canopy
+
+      ! check the mass balance
+      fluxNet  = scalarRainfall + scalarCanopyEvaporation - scalarThroughfallRain - scalarCanopyLiqDrainage
+      liqError = (canopyBalance0 + fluxNet*dt) - scalarCanopyWatTrial
+      if(abs(liqError) > absConvTol_liquid*10._rkind*iden_water)then  ! *10 because of precision issues
+        !write(*,'(a,1x,f20.10)') 'dt = ', dt
+        !write(*,'(a,1x,f20.10)') 'scalarCanopyWatTrial       = ', scalarCanopyWatTrial
+        !write(*,'(a,1x,f20.10)') 'canopyBalance0             = ', canopyBalance0
+        !write(*,'(a,1x,f20.10)') 'canopyBalance1             = ', canopyBalance1
+        !write(*,'(a,1x,f20.10)') 'scalarRainfall*dt          = ', scalarRainfall*dt
+        !write(*,'(a,1x,f20.10)') 'scalarCanopyLiqDrainage*dt = ', scalarCanopyLiqDrainage*dt
+        !write(*,'(a,1x,f20.10)') 'scalarCanopyEvaporation*dt = ', scalarCanopyEvaporation*dt
+        !write(*,'(a,1x,f20.10)') 'scalarThroughfallRain*dt   = ', scalarThroughfallRain*dt
+        !write(*,'(a,1x,f20.10)') 'liqError                   = ', liqError
+        waterBalanceError = .true.
+        return
+      endif  ! if there is a water balance error
     endif  ! if veg canopy
 
     ! check mass balance for soil
     ! NOTE: fatal errors, though possible to recover using negative error codes
-  if(count(ixSoilOnlyHyd/=integerMissing)==nSoil)then
-    soilBalance1 = sum( (mLayerVolFracLiqTrial(nSnow+1:nLayers) + mLayerVolFracIceTrial(nSnow+1:nLayers) )*mLayerDepth(nSnow+1:nLayers) )
-    vertFlux     = -(iLayerLiqFluxSoil(nSoil) - iLayerLiqFluxSoil(0))*dt  ! m s-1 --> m
-    tranSink     = sum(mLayerTranspire)*dt                                ! m s-1 --> m
-    baseSink     = sum(mLayerBaseflow)*dt                                 ! m s-1 --> m
-    compSink     = sum(mLayerCompress(1:nSoil) * mLayerDepth(nSnow+1:nLayers) ) ! dimensionless --> m
-    liqError     = soilBalance1 - (soilBalance0 + vertFlux + tranSink - baseSink - compSink)
-    if(abs(liqError) > absConvTol_liquid*10._rkind)then   ! *10 because of precision issues
-      !write(*,'(a,1x,f20.10)') 'dt = ', dt
-      !write(*,'(a,1x,f20.10)') 'soilBalance0      = ', soilBalance0
-      !write(*,'(a,1x,f20.10)') 'soilBalance1      = ', soilBalance1
-      !write(*,'(a,1x,f20.10)') 'vertFlux          = ', vertFlux
-      !write(*,'(a,1x,f20.10)') 'tranSink          = ', tranSink
-      !write(*,'(a,1x,f20.10)') 'baseSink          = ', baseSink
-      !write(*,'(a,1x,f20.10)') 'compSink          = ', compSink
-      !write(*,'(a,1x,f20.10)') 'liqError          = ', liqError
-      !write(*,'(a,1x,f20.10)') 'absConvTol_liquid = ', absConvTol_liquid
-      waterBalanceError = .true.
-      return
-    endif  ! if there is a water balance error
-  endif  ! if hydrology states exist in the soil domain
+    if(count(ixSoilOnlyHyd/=integerMissing)==nSoil)then
+      soilBalance1 = sum( (mLayerVolFracLiqTrial(nSnow+1:nLayers) + mLayerVolFracIceTrial(nSnow+1:nLayers) )*mLayerDepth(nSnow+1:nLayers) )
+      vertFlux     = -(iLayerLiqFluxSoil(nSoil) - iLayerLiqFluxSoil(0))*dt  ! m s-1 --> m
+      tranSink     = sum(mLayerTranspire)*dt                                ! m s-1 --> m
+      baseSink     = sum(mLayerBaseflow)*dt                                 ! m s-1 --> m
+      compSink     = sum(mLayerCompress(1:nSoil) * mLayerDepth(nSnow+1:nLayers) ) ! dimensionless --> m
+      liqError     = soilBalance1 - (soilBalance0 + vertFlux + tranSink - baseSink - compSink)
+      
+      if(abs(liqError) > absConvTol_liquid*10._rkind)then   ! *10 because of precision issues
+        !write(*,'(a,1x,f20.10)') 'dt = ', dt
+        !write(*,'(a,1x,f20.10)') 'soilBalance0      = ', soilBalance0
+        !write(*,'(a,1x,f20.10)') 'soilBalance1      = ', soilBalance1
+        !write(*,'(a,1x,f20.10)') 'vertFlux          = ', vertFlux
+        !write(*,'(a,1x,f20.10)') 'tranSink          = ', tranSink
+        !write(*,'(a,1x,f20.10)') 'baseSink          = ', baseSink
+        !write(*,'(a,1x,f20.10)') 'compSink          = ', compSink
+        !write(*,'(a,1x,f20.10)') 'liqError          = ', liqError
+        !write(*,'(a,1x,f20.10)') 'absConvTol_liquid = ', absConvTol_liquid
+        waterBalanceError = .true.
+        return
+      endif  ! if there is a water balance error
+    endif  ! if hydrology states exist in the soil domain
 
   endif  ! if checking the mass balance
 
@@ -920,31 +945,31 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
     ! loop through energy state variables
     do iState=1,size(ixNrgOnly)
 
-    ! get index of the control volume within the domain
-    ixSubset       = ixNrgOnly(iState)             ! index within the state subset
-    ixFullVector   = ixMapSubset2Full(ixSubset)    ! index within full state vector
-    ixControlIndex = ixControlVolume(ixFullVector) ! index within a given domain
-
-    ! compute volumetric melt (kg m-3)
-    volMelt = dt*untappedMelt(ixSubset)/LH_fus  ! (kg m-3)
-
-    ! update ice content
-    select case( ixDomainType(ixFullVector) )
-      case(iname_cas);  cycle ! do nothing, since there is no snow stored in the canopy air space
-      case(iname_veg);  scalarCanopyIceTrial                        = scalarCanopyIceTrial                        - volMelt*canopyDepth  ! (kg m-2)
-      case(iname_snow); mLayerVolFracIceTrial(ixControlIndex)       = mLayerVolFracIceTrial(ixControlIndex)       - volMelt/iden_ice     ! (-)
-      case(iname_soil); mLayerVolFracIceTrial(ixControlIndex+nSnow) = mLayerVolFracIceTrial(ixControlIndex+nSnow) - volMelt/iden_water   ! (-)
-      case default; err=20; message=trim(message)//'unable to identify domain type [remove untapped melt energy]'; return
-    end select
-
-    ! update liquid water content
-    select case( ixDomainType(ixFullVector) )
-      case(iname_cas);  cycle ! do nothing, since there is no snow stored in the canopy air space
-      case(iname_veg);  scalarCanopyLiqTrial                        = scalarCanopyLiqTrial                        + volMelt*canopyDepth  ! (kg m-2)
-      case(iname_snow); mLayerVolFracLiqTrial(ixControlIndex)       = mLayerVolFracLiqTrial(ixControlIndex)       + volMelt/iden_water   ! (-)
-      case(iname_soil); mLayerVolFracLiqTrial(ixControlIndex+nSnow) = mLayerVolFracLiqTrial(ixControlIndex+nSnow) + volMelt/iden_water   ! (-)
-      case default; err=20; message=trim(message)//'unable to identify domain type [remove untapped melt energy]'; return
-    end select
+      ! get index of the control volume within the domain
+      ixSubset       = ixNrgOnly(iState)             ! index within the state subset
+      ixFullVector   = ixMapSubset2Full(ixSubset)    ! index within full state vector
+      ixControlIndex = ixControlVolume(ixFullVector) ! index within a given domain
+
+      ! compute volumetric melt (kg m-3)
+      volMelt = dt*untappedMelt(ixSubset)/LH_fus  ! (kg m-3)
+
+      ! update ice content
+      select case( ixDomainType(ixFullVector) )
+        case(iname_cas);  cycle ! do nothing, since there is no snow stored in the canopy air space
+        case(iname_veg);  scalarCanopyIceTrial                        = scalarCanopyIceTrial                        - volMelt*canopyDepth  ! (kg m-2)
+        case(iname_snow); mLayerVolFracIceTrial(ixControlIndex)       = mLayerVolFracIceTrial(ixControlIndex)       - volMelt/iden_ice     ! (-)
+        case(iname_soil); mLayerVolFracIceTrial(ixControlIndex+nSnow) = mLayerVolFracIceTrial(ixControlIndex+nSnow) - volMelt/iden_water   ! (-)
+        case default; err=20; message=trim(message)//'unable to identify domain type [remove untapped melt energy]'; print*, message; return
+      end select
+
+      ! update liquid water content
+      select case( ixDomainType(ixFullVector) )
+        case(iname_cas);  cycle ! do nothing, since there is no snow stored in the canopy air space
+        case(iname_veg);  scalarCanopyLiqTrial                        = scalarCanopyLiqTrial                        + volMelt*canopyDepth  ! (kg m-2)
+        case(iname_snow); mLayerVolFracLiqTrial(ixControlIndex)       = mLayerVolFracLiqTrial(ixControlIndex)       + volMelt/iden_water   ! (-)
+        case(iname_soil); mLayerVolFracLiqTrial(ixControlIndex+nSnow) = mLayerVolFracLiqTrial(ixControlIndex+nSnow) + volMelt/iden_water   ! (-)
+        case default; err=20; message=trim(message)//'unable to identify domain type [remove untapped melt energy]'; print*, message; return
+      end select
 
     end do  ! looping through energy variables
 
@@ -955,49 +980,51 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
     ! --> check if we removed too much water
     if(scalarCanopyIceTrial < 0._rkind  .or. any(mLayerVolFracIceTrial < 0._rkind) )then
 
-    ! **
-    ! canopy within numerical precision
-    if(scalarCanopyIceTrial < 0._rkind)then
-
-      if(scalarCanopyIceTrial > -verySmall)then
-      scalarCanopyLiqTrial = scalarCanopyLiqTrial - scalarCanopyIceTrial
-      scalarCanopyIceTrial = 0._rkind
-
-      ! encountered an inconsistency: spit the dummy
-      else
-      print*, 'dt = ', dt
-      print*, 'untappedMelt          = ', untappedMelt
-      print*, 'untappedMelt*dt       = ', untappedMelt*dt
-      print*, 'scalarCanopyiceTrial  = ', scalarCanopyIceTrial
-      message=trim(message)//'melted more than the available water'
-      err=20; return
-      endif  ! (inconsistency)
-
-    endif  ! if checking the canopy
-    ! **
-    ! snow+soil within numerical precision
-    do iState=1,size(mLayerVolFracIceTrial)
-
-      ! snow layer within numerical precision
-      if(mLayerVolFracIceTrial(iState) < 0._rkind)then
-
-      if(mLayerVolFracIceTrial(iState) > -verySmall)then
-        mLayerVolFracLiqTrial(iState) = mLayerVolFracLiqTrial(iState) - mLayerVolFracIceTrial(iState)
-        mLayerVolFracIceTrial(iState) = 0._rkind
-
-      ! encountered an inconsistency: spit the dummy
-      else
-        print*, 'dt = ', dt
-        print*, 'untappedMelt          = ', untappedMelt
-        print*, 'untappedMelt*dt       = ', untappedMelt*dt
-        print*, 'mLayerVolFracIceTrial = ', mLayerVolFracIceTrial
-        message=trim(message)//'melted more than the available water'
-        err=20; return
-      endif  ! (inconsistency)
-
-      endif  ! if checking a snow layer
-
-    end do ! (looping through state variables)
+      ! **
+      ! canopy within numerical precision
+      if(scalarCanopyIceTrial < 0._rkind)then
+
+        if(scalarCanopyIceTrial > -verySmall)then
+          scalarCanopyLiqTrial = scalarCanopyLiqTrial - scalarCanopyIceTrial
+          scalarCanopyIceTrial = 0._rkind
+
+          ! encountered an inconsistency: spit the dummy
+        else
+          print*, 'dt = ', dt
+          print*, 'untappedMelt          = ', untappedMelt
+          print*, 'untappedMelt*dt       = ', untappedMelt*dt
+          print*, 'scalarCanopyiceTrial  = ', scalarCanopyIceTrial
+          message=trim(message)//'melted more than the available water'
+          print*, message
+          err=20; return
+        endif  ! (inconsistency)
+
+      endif  ! if checking the canopy
+      ! **
+      ! snow+soil within numerical precision
+      do iState=1,size(mLayerVolFracIceTrial)
+
+        ! snow layer within numerical precision
+        if(mLayerVolFracIceTrial(iState) < 0._rkind)then
+
+          if(mLayerVolFracIceTrial(iState) > -verySmall)then
+            mLayerVolFracLiqTrial(iState) = mLayerVolFracLiqTrial(iState) - mLayerVolFracIceTrial(iState)
+            mLayerVolFracIceTrial(iState) = 0._rkind
+
+            ! encountered an inconsistency: spit the dummy
+          else
+            print*, 'dt = ', dt
+            print*, 'untappedMelt          = ', untappedMelt
+            print*, 'untappedMelt*dt       = ', untappedMelt*dt
+            print*, 'mLayerVolFracIceTrial = ', mLayerVolFracIceTrial
+            message=trim(message)//'melted more than the available water'
+            print*, message
+            err=20; return
+          endif  ! (inconsistency)
+
+        endif  ! if checking a snow layer
+
+      end do ! (looping through state variables)
 
     endif  ! (if we removed too much water)
 
@@ -1008,51 +1035,52 @@ subroutine updateProgSundials(dt,nSnow,nSoil,nLayers,doAdjustTemp,computeVegFlux
     ! --> check if we removed too much water
     if(scalarCanopyLiqTrial < 0._rkind  .or. any(mLayerVolFracLiqTrial < 0._rkind) )then
 
-    ! **
-    ! canopy within numerical precision
-    if(scalarCanopyLiqTrial < 0._rkind)then
+      ! **
+      ! canopy within numerical precision
+      if(scalarCanopyLiqTrial < 0._rkind)then
 
-      if(scalarCanopyLiqTrial > -verySmall)then
-      scalarCanopyIceTrial = scalarCanopyIceTrial - scalarCanopyLiqTrial
-      scalarCanopyLiqTrial = 0._rkind
+        if(scalarCanopyLiqTrial > -verySmall)then
+          scalarCanopyIceTrial = scalarCanopyIceTrial - scalarCanopyLiqTrial
+          scalarCanopyLiqTrial = 0._rkind
 
 
-      ! encountered an inconsistency: spit the dummy
-      else
-      print*, 'dt = ', dt
-      print*, 'untappedMelt          = ', untappedMelt
-      print*, 'untappedMelt*dt       = ', untappedMelt*dt
-      print*, 'scalarCanopyLiqTrial  = ', scalarCanopyLiqTrial
-      message=trim(message)//'frozen more than the available water'
-      err=20; return
-      endif  ! (inconsistency)
+        ! encountered an inconsistency: spit the dummy
+        else
+          print*, 'dt = ', dt
+          print*, 'untappedMelt          = ', untappedMelt
+          print*, 'untappedMelt*dt       = ', untappedMelt*dt
+          print*, 'scalarCanopyLiqTrial  = ', scalarCanopyLiqTrial
+          message=trim(message)//'frozen more than the available water'
+          print*, message
+          err=20; return
+        endif  ! (inconsistency)
 
-    endif  ! checking the canopy
+      endif  ! checking the canopy
 
-    ! **
-    ! snow+soil within numerical precision
-    do iState=1,size(mLayerVolFracLiqTrial)
+      ! **
+      ! snow+soil within numerical precision
+      do iState=1,size(mLayerVolFracLiqTrial)
 
-      ! snow layer within numerical precision
-      if(mLayerVolFracLiqTrial(iState) < 0._rkind)then
+        ! snow layer within numerical precision
+        if(mLayerVolFracLiqTrial(iState) < 0._rkind)then
 
-      if(mLayerVolFracLiqTrial(iState) > -verySmall)then
-        mLayerVolFracIceTrial(iState) = mLayerVolFracIceTrial(iState) - mLayerVolFracLiqTrial(iState)
-        mLayerVolFracLiqTrial(iState) = 0._rkind
+          if(mLayerVolFracLiqTrial(iState) > -verySmall)then
+            mLayerVolFracIceTrial(iState) = mLayerVolFracIceTrial(iState) - mLayerVolFracLiqTrial(iState)
+            mLayerVolFracLiqTrial(iState) = 0._rkind
 
-      ! encountered an inconsistency: spit the dummy
-      else
-        print*, 'dt = ', dt
-        print*, 'untappedMelt          = ', untappedMelt
-        print*, 'untappedMelt*dt       = ', untappedMelt*dt
-        print*, 'mLayerVolFracLiqTrial = ', mLayerVolFracLiqTrial
-        message=trim(message)//'frozen more than the available water'
-        err=20; return
-      endif  ! (inconsistency)
+            ! encountered an inconsistency: spit the dummy
+          else
+            print*, 'dt = ', dt
+            print*, 'untappedMelt          = ', untappedMelt
+            print*, 'untappedMelt*dt       = ', untappedMelt*dt
+            print*, 'mLayerVolFracLiqTrial = ', mLayerVolFracLiqTrial
+            message=trim(message)//'frozen more than the available water'
+            err=20; return
+          endif  ! (inconsistency)
 
-      endif  ! checking a snow layer
+        endif  ! checking a snow layer
 
-    end do ! (looping through state variables)
+      end do ! (looping through state variables)
 
     endif  ! (if we removed too much water)
 
diff --git a/build/source/engine/varSubstep.f90 b/build/source/engine/varSubstep.f90
index 2065ba4..015cb35 100755
--- a/build/source/engine/varSubstep.f90
+++ b/build/source/engine/varSubstep.f90
@@ -79,10 +79,10 @@ real(dp),parameter     :: verySmall=1.e-6_dp   ! used as an additive constant to
 contains
 
 
- ! **********************************************************************************************************
- ! public subroutine varSubstep: run the model for a collection of substeps for a given state subset
- ! **********************************************************************************************************
- subroutine varSubstep(&
+! **********************************************************************************************************
+! public subroutine varSubstep: run the model for a collection of substeps for a given state subset
+! **********************************************************************************************************
+subroutine varSubstep(&
                        ! input: model control
                        dt,                & ! intent(in)    : time step (s)
                        dtInit,            & ! intent(in)    : initial time step (seconds)
@@ -117,164 +117,164 @@ contains
                        reduceCoupledStep, & ! intent(out)   : flag to denote need to reduce the length of the coupled step
                        tooMuchMelt,       & ! intent(out)   : flag to denote that ice is insufficient to support melt
                        err,message)         ! intent(out)   : error code and error message
- ! ---------------------------------------------------------------------------------------
- ! structure allocations
- USE allocspace4chm_module,only:allocLocal                ! allocate local data structures
- ! simulation of fluxes and residuals given a trial state vector
- USE systemSolv_module,only:systemSolv                ! solve the system of equations for one time step
- USE getVectorz_module,only:popStateVec               ! populate the state vector
- USE getVectorz_module,only:varExtract                ! extract variables from the state vector
- USE updateVars_module,only:updateVars                ! update prognostic variables
- ! identify name of variable type (for error message)
- USE get_ixName_module,only:get_varTypeName           ! to access type strings for error messages
- implicit none
- ! ---------------------------------------------------------------------------------------
- ! * dummy variables
- ! ---------------------------------------------------------------------------------------
- ! input: model control
- real(dp),intent(in)             :: dt                            ! time step (seconds)
- real(dp),intent(in)             :: dtInit                        ! initial time step (seconds)
- real(dp),intent(in)             :: dt_min                        ! minimum time step (seconds)
- integer(i4b),intent(in)         :: nState                        ! total number of state variables
- logical(lgt),intent(in)         :: doAdjustTemp                  ! flag to indicate if we adjust the temperature
- logical(lgt),intent(in)         :: firstSubStep                  ! flag to indicate if we are processing the first sub-step
- logical(lgt),intent(inout)      :: firstFluxCall                 ! flag to define the first flux call
- logical(lgt),intent(in)         :: computeVegFlux                ! flag to indicate if we are computing fluxes over vegetation (.false. means veg is buried with snow)
- logical(lgt),intent(in)         :: scalarSolution                ! flag to denote implementing the scalar solution
- integer(i4b),intent(in)         :: iStateSplit                   ! index of the state in the splitting operation
- type(var_flagVec),intent(in)    :: fluxMask                      ! flags to denote if the flux is calculated in the given state subset
- type(var_ilength),intent(inout) :: fluxCount                     ! number of times that the flux is updated (should equal nSubsteps)
- ! input/output: data structures
- type(model_options),intent(in)  :: model_decisions(:)            ! model decisions
- type(zLookup),intent(in)        :: lookup_data                   ! lookup tables
- type(var_i),intent(in)          :: type_data                     ! type of vegetation and soil
- type(var_d),intent(in)          :: attr_data                     ! spatial attributes
- type(var_d),intent(in)          :: forc_data                     ! model forcing data
- type(var_dlength),intent(in)    :: mpar_data                     ! model parameters
- type(var_ilength),intent(inout) :: indx_data                     ! indices for a local HRU
- type(var_dlength),intent(inout) :: prog_data                     ! prognostic variables for a local HRU
- type(var_dlength),intent(inout) :: diag_data                     ! diagnostic variables for a local HRU
- type(var_dlength),intent(inout) :: flux_data                     ! model fluxes for a local HRU
- type(var_dlength),intent(inout) :: deriv_data                    ! derivatives in model fluxes w.r.t. relevant state variables
- type(var_dlength),intent(in)    :: bvar_data                     ! model variables for the local basin
- ! output: model control
- integer(i4b),intent(inout)      :: ixSaturation                  ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
- real(dp),intent(out)            :: dtMultiplier                  ! substep multiplier (-)
- integer(i4b),intent(out)        :: nSubsteps                     ! number of substeps taken for a given split
- logical(lgt),intent(out)        :: failedMinimumStep             ! flag to denote success of substepping for a given split
- logical(lgt),intent(out)        :: reduceCoupledStep             ! flag to denote need to reduce the length of the coupled step
- logical(lgt),intent(out)        :: tooMuchMelt                   ! flag to denote that ice is insufficient to support melt
- integer(i4b),intent(out)        :: err                           ! error code
- character(*),intent(out)        :: message                       ! error message
- ! ---------------------------------------------------------------------------------------
- ! * general local variables
- ! ---------------------------------------------------------------------------------------
- ! error control
- character(LEN=256)              :: cmessage                      ! error message of downwind routine
- ! general local variables
- integer(i4b)                    :: iVar                          ! index of variables in data structures
- integer(i4b)                    :: iSoil                         ! index of soil layers
- integer(i4b)                    :: ixLayer                       ! index in a given domain
- integer(i4b), dimension(1)      :: ixMin,ixMax                   ! bounds of a given flux vector
- ! time stepping
- real(dp)                        :: dtSum                         ! sum of time from successful steps (seconds)
- real(dp)                        :: dt_wght                       ! weight given to a given flux calculation
- real(dp)                        :: dtSubstep                     ! length of a substep (s)
- ! adaptive sub-stepping for the explicit solution
- logical(lgt)                    :: failedSubstep                 ! flag to denote success of substepping for a given split
- real(dp),parameter              :: safety=0.85_dp                ! safety factor in adaptive sub-stepping
- real(dp),parameter              :: reduceMin=0.1_dp              ! mimimum factor that time step is reduced
- real(dp),parameter              :: increaseMax=4.0_dp            ! maximum factor that time step is increased
- ! adaptive sub-stepping for the implicit solution
- integer(i4b)                    :: niter                         ! number of iterations taken
- integer(i4b),parameter          :: n_inc=5                       ! minimum number of iterations to increase time step
- integer(i4b),parameter          :: n_dec=15                      ! maximum number of iterations to decrease time step
- real(dp),parameter              :: F_inc = 1.25_dp               ! factor used to increase time step
- real(dp),parameter              :: F_dec = 0.90_dp               ! factor used to decrease time step
- ! state and flux vectors
- real(dp)                        :: untappedMelt(nState)          ! un-tapped melt energy (J m-3 s-1)
- real(dp)                        :: stateVecInit(nState)          ! initial state vector (mixed units)
- real(dp)                        :: stateVecTrial(nState)         ! trial state vector (mixed units)
- type(var_dlength)               :: flux_temp                     ! temporary model fluxes
- ! flags
- logical(lgt)                    :: firstSplitOper                ! flag to indicate if we are processing the first flux call in a splitting operation
- logical(lgt)                    :: checkMassBalance              ! flag to check the mass balance
- logical(lgt)                    :: waterBalanceError             ! flag to denote that there is a water balance error
- logical(lgt)                    :: nrgFluxModified               ! flag to denote that the energy fluxes were modified
- ! energy fluxes
- real(dp)                        :: sumCanopyEvaporation          ! sum of canopy evaporation/condensation (kg m-2 s-1)
- real(dp)                        :: sumLatHeatCanopyEvap          ! sum of latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
- real(dp)                        :: sumSenHeatCanopy              ! sum of sensible heat flux from the canopy to the canopy air space (W m-2)
- real(dp)                        :: sumSoilCompress
- real(dp),allocatable            :: sumLayerCompress(:)
- ! ---------------------------------------------------------------------------------------
- ! point to variables in the data structures
- ! ---------------------------------------------------------------------------------------
- globalVars: associate(&
- ! number of layers
- nSnow                   => indx_data%var(iLookINDEX%nSnow)%dat(1)                 ,& ! intent(in):    [i4b]    number of snow layers
- nSoil                   => indx_data%var(iLookINDEX%nSoil)%dat(1)                 ,& ! intent(in):    [i4b]    number of soil layers
- nLayers                 => indx_data%var(iLookINDEX%nLayers)%dat(1)               ,& ! intent(in):    [i4b]    total number of layers
- nSoilOnlyHyd            => indx_data%var(iLookINDEX%nSoilOnlyHyd )%dat(1)         ,& ! intent(in):    [i4b]    number of hydrology variables in the soil domain
- mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,& ! intent(in):    [dp(:)]  depth of each layer in the snow-soil sub-domain (m)
- ! mapping between state vectors and control volumes
- ixLayerActive           => indx_data%var(iLookINDEX%ixLayerActive)%dat            ,& ! intent(in):    [i4b(:)] list of indices for all active layers (inactive=integerMissing)
- ixMapFull2Subset        => indx_data%var(iLookINDEX%ixMapFull2Subset)%dat         ,& ! intent(in):    [i4b(:)] mapping of full state vector to the state subset
- ixControlVolume         => indx_data%var(iLookINDEX%ixControlVolume)%dat          ,& ! intent(in):    [i4b(:)] index of control volume for different domains (veg, snow, soil)
- ! model state variables (vegetation canopy)
- scalarCanairTemp        => prog_data%var(iLookPROG%scalarCanairTemp)%dat(1)       ,& ! intent(inout): [dp]     temperature of the canopy air space (K)
- scalarCanopyTemp        => prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)       ,& ! intent(inout): [dp]     temperature of the vegetation canopy (K)
- scalarCanopyIce         => prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)        ,& ! intent(inout): [dp]     mass of ice on the vegetation canopy (kg m-2)
- scalarCanopyLiq         => prog_data%var(iLookPROG%scalarCanopyLiq)%dat(1)        ,& ! intent(inout): [dp]     mass of liquid water on the vegetation canopy (kg m-2)
- scalarCanopyWat         => prog_data%var(iLookPROG%scalarCanopyWat)%dat(1)        ,& ! intent(inout): [dp]     mass of total water on the vegetation canopy (kg m-2)
- ! model state variables (snow and soil domains)
- mLayerTemp              => prog_data%var(iLookPROG%mLayerTemp)%dat                ,& ! intent(inout): [dp(:)]  temperature of each snow/soil layer (K)
- mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,& ! intent(inout): [dp(:)]  volumetric fraction of ice (-)
- mLayerVolFracLiq        => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat          ,& ! intent(inout): [dp(:)]  volumetric fraction of liquid water (-)
- mLayerVolFracWat        => prog_data%var(iLookPROG%mLayerVolFracWat)%dat          ,& ! intent(inout): [dp(:)]  volumetric fraction of total water (-)
- mLayerMatricHead        => prog_data%var(iLookPROG%mLayerMatricHead)%dat          ,& ! intent(inout): [dp(:)]  matric head (m)
- mLayerMatricHeadLiq     => diag_data%var(iLookDIAG%mLayerMatricHeadLiq)%dat        & ! intent(inout): [dp(:)]  matric potential of liquid water (m)
- )  ! end association with variables in the data structures
- ! *********************************************************************************************************************************************************
- ! *********************************************************************************************************************************************************
- ! Procedure starts here
+  ! ---------------------------------------------------------------------------------------
+  ! structure allocations
+  USE allocspace4chm_module,only:allocLocal                ! allocate local data structures
+  ! simulation of fluxes and residuals given a trial state vector
+  USE systemSolv_module,only:systemSolv                ! solve the system of equations for one time step
+  USE getVectorz_module,only:popStateVec               ! populate the state vector
+  USE getVectorz_module,only:varExtract                ! extract variables from the state vector
+  USE updateVars_module,only:updateVars                ! update prognostic variables
+  ! identify name of variable type (for error message)
+  USE get_ixName_module,only:get_varTypeName           ! to access type strings for error messages
+  implicit none
+  ! ---------------------------------------------------------------------------------------
+  ! * dummy variables
+  ! ---------------------------------------------------------------------------------------
+  ! input: model control
+  real(dp),intent(in)             :: dt                            ! time step (seconds)
+  real(dp),intent(in)             :: dtInit                        ! initial time step (seconds)
+  real(dp),intent(in)             :: dt_min                        ! minimum time step (seconds)
+  integer(i4b),intent(in)         :: nState                        ! total number of state variables
+  logical(lgt),intent(in)         :: doAdjustTemp                  ! flag to indicate if we adjust the temperature
+  logical(lgt),intent(in)         :: firstSubStep                  ! flag to indicate if we are processing the first sub-step
+  logical(lgt),intent(inout)      :: firstFluxCall                 ! flag to define the first flux call
+  logical(lgt),intent(in)         :: computeVegFlux                ! flag to indicate if we are computing fluxes over vegetation (.false. means veg is buried with snow)
+  logical(lgt),intent(in)         :: scalarSolution                ! flag to denote implementing the scalar solution
+  integer(i4b),intent(in)         :: iStateSplit                   ! index of the state in the splitting operation
+  type(var_flagVec),intent(in)    :: fluxMask                      ! flags to denote if the flux is calculated in the given state subset
+  type(var_ilength),intent(inout) :: fluxCount                     ! number of times that the flux is updated (should equal nSubsteps)
+  ! input/output: data structures
+  type(model_options),intent(in)  :: model_decisions(:)            ! model decisions
+  type(zLookup),intent(in)        :: lookup_data                   ! lookup tables
+  type(var_i),intent(in)          :: type_data                     ! type of vegetation and soil
+  type(var_d),intent(in)          :: attr_data                     ! spatial attributes
+  type(var_d),intent(in)          :: forc_data                     ! model forcing data
+  type(var_dlength),intent(in)    :: mpar_data                     ! model parameters
+  type(var_ilength),intent(inout) :: indx_data                     ! indices for a local HRU
+  type(var_dlength),intent(inout) :: prog_data                     ! prognostic variables for a local HRU
+  type(var_dlength),intent(inout) :: diag_data                     ! diagnostic variables for a local HRU
+  type(var_dlength),intent(inout) :: flux_data                     ! model fluxes for a local HRU
+  type(var_dlength),intent(inout) :: deriv_data                    ! derivatives in model fluxes w.r.t. relevant state variables
+  type(var_dlength),intent(in)    :: bvar_data                     ! model variables for the local basin
+  ! output: model control
+  integer(i4b),intent(inout)      :: ixSaturation                  ! index of the lowest saturated layer (NOTE: only computed on the first iteration)
+  real(dp),intent(out)            :: dtMultiplier                  ! substep multiplier (-)
+  integer(i4b),intent(out)        :: nSubsteps                     ! number of substeps taken for a given split
+  logical(lgt),intent(out)        :: failedMinimumStep             ! flag to denote success of substepping for a given split
+  logical(lgt),intent(out)        :: reduceCoupledStep             ! flag to denote need to reduce the length of the coupled step
+  logical(lgt),intent(out)        :: tooMuchMelt                   ! flag to denote that ice is insufficient to support melt
+  integer(i4b),intent(out)        :: err                           ! error code
+  character(*),intent(out)        :: message                       ! error message
+  ! ---------------------------------------------------------------------------------------
+  ! * general local variables
+  ! ---------------------------------------------------------------------------------------
+  ! error control
+  character(LEN=256)              :: cmessage                      ! error message of downwind routine
+  ! general local variables
+  integer(i4b)                    :: iVar                          ! index of variables in data structures
+  integer(i4b)                    :: iSoil                         ! index of soil layers
+  integer(i4b)                    :: ixLayer                       ! index in a given domain
+  integer(i4b), dimension(1)      :: ixMin,ixMax                   ! bounds of a given flux vector
+  ! time stepping
+  real(dp)                        :: dtSum                         ! sum of time from successful steps (seconds)
+  real(dp)                        :: dt_wght                       ! weight given to a given flux calculation
+  real(dp)                        :: dtSubstep                     ! length of a substep (s)
+  ! adaptive sub-stepping for the explicit solution
+  logical(lgt)                    :: failedSubstep                 ! flag to denote success of substepping for a given split
+  real(dp),parameter              :: safety=0.85_dp                ! safety factor in adaptive sub-stepping
+  real(dp),parameter              :: reduceMin=0.1_dp              ! mimimum factor that time step is reduced
+  real(dp),parameter              :: increaseMax=4.0_dp            ! maximum factor that time step is increased
+  ! adaptive sub-stepping for the implicit solution
+  integer(i4b)                    :: niter                         ! number of iterations taken
+  integer(i4b),parameter          :: n_inc=5                       ! minimum number of iterations to increase time step
+  integer(i4b),parameter          :: n_dec=15                      ! maximum number of iterations to decrease time step
+  real(dp),parameter              :: F_inc = 1.25_dp               ! factor used to increase time step
+  real(dp),parameter              :: F_dec = 0.90_dp               ! factor used to decrease time step
+  ! state and flux vectors
+  real(dp)                        :: untappedMelt(nState)          ! un-tapped melt energy (J m-3 s-1)
+  real(dp)                        :: stateVecInit(nState)          ! initial state vector (mixed units)
+  real(dp)                        :: stateVecTrial(nState)         ! trial state vector (mixed units)
+  type(var_dlength)               :: flux_temp                     ! temporary model fluxes
+  ! flags
+  logical(lgt)                    :: firstSplitOper                ! flag to indicate if we are processing the first flux call in a splitting operation
+  logical(lgt)                    :: checkMassBalance              ! flag to check the mass balance
+  logical(lgt)                    :: waterBalanceError             ! flag to denote that there is a water balance error
+  logical(lgt)                    :: nrgFluxModified               ! flag to denote that the energy fluxes were modified
+  ! energy fluxes
+  real(dp)                        :: sumCanopyEvaporation          ! sum of canopy evaporation/condensation (kg m-2 s-1)
+  real(dp)                        :: sumLatHeatCanopyEvap          ! sum of latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+  real(dp)                        :: sumSenHeatCanopy              ! sum of sensible heat flux from the canopy to the canopy air space (W m-2)
+  real(dp)                        :: sumSoilCompress
+  real(dp),allocatable            :: sumLayerCompress(:)
+  ! ---------------------------------------------------------------------------------------
+  ! point to variables in the data structures
+  ! ---------------------------------------------------------------------------------------
+  globalVars: associate(&
+    ! number of layers
+    nSnow                   => indx_data%var(iLookINDEX%nSnow)%dat(1)                 ,& ! intent(in):    [i4b]    number of snow layers
+    nSoil                   => indx_data%var(iLookINDEX%nSoil)%dat(1)                 ,& ! intent(in):    [i4b]    number of soil layers
+    nLayers                 => indx_data%var(iLookINDEX%nLayers)%dat(1)               ,& ! intent(in):    [i4b]    total number of layers
+    nSoilOnlyHyd            => indx_data%var(iLookINDEX%nSoilOnlyHyd )%dat(1)         ,& ! intent(in):    [i4b]    number of hydrology variables in the soil domain
+    mLayerDepth             => prog_data%var(iLookPROG%mLayerDepth)%dat               ,& ! intent(in):    [dp(:)]  depth of each layer in the snow-soil sub-domain (m)
+    ! mapping between state vectors and control volumes
+    ixLayerActive           => indx_data%var(iLookINDEX%ixLayerActive)%dat            ,& ! intent(in):    [i4b(:)] list of indices for all active layers (inactive=integerMissing)
+    ixMapFull2Subset        => indx_data%var(iLookINDEX%ixMapFull2Subset)%dat         ,& ! intent(in):    [i4b(:)] mapping of full state vector to the state subset
+    ixControlVolume         => indx_data%var(iLookINDEX%ixControlVolume)%dat          ,& ! intent(in):    [i4b(:)] index of control volume for different domains (veg, snow, soil)
+    ! model state variables (vegetation canopy)
+    scalarCanairTemp        => prog_data%var(iLookPROG%scalarCanairTemp)%dat(1)       ,& ! intent(inout): [dp]     temperature of the canopy air space (K)
+    scalarCanopyTemp        => prog_data%var(iLookPROG%scalarCanopyTemp)%dat(1)       ,& ! intent(inout): [dp]     temperature of the vegetation canopy (K)
+    scalarCanopyIce         => prog_data%var(iLookPROG%scalarCanopyIce)%dat(1)        ,& ! intent(inout): [dp]     mass of ice on the vegetation canopy (kg m-2)
+    scalarCanopyLiq         => prog_data%var(iLookPROG%scalarCanopyLiq)%dat(1)        ,& ! intent(inout): [dp]     mass of liquid water on the vegetation canopy (kg m-2)
+    scalarCanopyWat         => prog_data%var(iLookPROG%scalarCanopyWat)%dat(1)        ,& ! intent(inout): [dp]     mass of total water on the vegetation canopy (kg m-2)
+    ! model state variables (snow and soil domains)
+    mLayerTemp              => prog_data%var(iLookPROG%mLayerTemp)%dat                ,& ! intent(inout): [dp(:)]  temperature of each snow/soil layer (K)
+    mLayerVolFracIce        => prog_data%var(iLookPROG%mLayerVolFracIce)%dat          ,& ! intent(inout): [dp(:)]  volumetric fraction of ice (-)
+    mLayerVolFracLiq        => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat          ,& ! intent(inout): [dp(:)]  volumetric fraction of liquid water (-)
+    mLayerVolFracWat        => prog_data%var(iLookPROG%mLayerVolFracWat)%dat          ,& ! intent(inout): [dp(:)]  volumetric fraction of total water (-)
+    mLayerMatricHead        => prog_data%var(iLookPROG%mLayerMatricHead)%dat          ,& ! intent(inout): [dp(:)]  matric head (m)
+    mLayerMatricHeadLiq     => diag_data%var(iLookDIAG%mLayerMatricHeadLiq)%dat        & ! intent(inout): [dp(:)]  matric potential of liquid water (m)
+  )  ! end association with variables in the data structures
+  ! *********************************************************************************************************************************************************
+  ! *********************************************************************************************************************************************************
+  ! Procedure starts here
 
- ! initialize error control
- err=0; message='varSubstep/'
+  ! initialize error control
+  err=0; message='varSubstep/'
 
- ! initialize flag for the success of the substepping
- failedMinimumStep=.false.
+  ! initialize flag for the success of the substepping
+  failedMinimumStep=.false.
 
- ! initialize the length of the substep
- dtSubstep = dtInit
+  ! initialize the length of the substep
+  dtSubstep = dtInit
 
- ! allocate space for the temporary model flux structure
- call allocLocal(flux_meta(:),flux_temp,nSnow,nSoil,err,cmessage)
- if(err/=0)then; err=20; message=trim(message)//trim(cmessage); return; endif
+  ! allocate space for the temporary model flux structure
+  call allocLocal(flux_meta(:),flux_temp,nSnow,nSoil,err,cmessage)
+  if(err/=0)then; err=20; message=trim(message)//trim(cmessage); return; endif
 
- ! initialize the model fluxes (some model fluxes are not computed in the iterations)
- do iVar=1,size(flux_data%var)
-  flux_temp%var(iVar)%dat(:) = flux_data%var(iVar)%dat(:)
- end do
+  ! initialize the model fluxes (some model fluxes are not computed in the iterations)
+  do iVar=1,size(flux_data%var)
+    flux_temp%var(iVar)%dat(:) = flux_data%var(iVar)%dat(:)
+  end do
 
- ! initialize the total energy fluxes (modified in updateProg)
- sumCanopyEvaporation = 0._dp  ! canopy evaporation/condensation (kg m-2 s-1)
- sumLatHeatCanopyEvap = 0._dp  ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
- sumSenHeatCanopy     = 0._dp  ! sensible heat flux from the canopy to the canopy air space (W m-2)
- sumSoilCompress      = 0._dp  ! total soil compression
+  ! initialize the total energy fluxes (modified in updateProg)
+  sumCanopyEvaporation = 0._dp  ! canopy evaporation/condensation (kg m-2 s-1)
+  sumLatHeatCanopyEvap = 0._dp  ! latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+  sumSenHeatCanopy     = 0._dp  ! sensible heat flux from the canopy to the canopy air space (W m-2)
+  sumSoilCompress      = 0._dp  ! total soil compression
 
- allocate(sumLayerCompress(nSoil)); sumLayerCompress = 0._dp ! soil compression by layer
+  allocate(sumLayerCompress(nSoil)); sumLayerCompress = 0._dp ! soil compression by layer
 
- ! define the first flux call in a splitting operation
- firstSplitOper = (.not.scalarSolution .or. iStateSplit==1)
+  ! define the first flux call in a splitting operation
+  firstSplitOper = (.not.scalarSolution .or. iStateSplit==1)
 
- ! initialize subStep
- dtSum     = 0._dp  ! keep track of the portion of the time step that is completed
- nSubsteps = 0
+  ! initialize subStep
+  dtSum     = 0._dp  ! keep track of the portion of the time step that is completed
+  nSubsteps = 0
 
- ! loop through substeps
- ! NOTE: continuous do statement with exit clause
- substeps: do
+  ! loop through substeps
+  ! NOTE: continuous do statement with exit clause
+  substeps: do
 
   ! initialize error control
   err=0; message='varSubstep/'
diff --git a/build/source/engine/vegNrgFlux.f90 b/build/source/engine/vegNrgFlux.f90
old mode 100755
new mode 100644
index 2e80729..63b68b1
--- a/build/source/engine/vegNrgFlux.f90
+++ b/build/source/engine/vegNrgFlux.f90
@@ -20,3281 +20,3345 @@
 
 module vegNrgFlux_module
 
-! data types
-USE nrtype
-
-! derived types to define the data structures
-USE data_types,only:&
-                    var_i,            & ! data vector (i4b)
-                    var_d,            & ! data vector (dp)
-                    var_ilength,      & ! data vector with variable length dimension (i4b)
-                    var_dlength,      & ! data vector with variable length dimension (dp)
-                    model_options       ! defines the model decisions
-
-! indices that define elements of the data structures
-USE var_lookup,only:iLookTYPE           ! named variables for structure elements
-USE var_lookup,only:iLookPROG           ! named variables for structure elements
-USE var_lookup,only:iLookDIAG           ! named variables for structure elements
-USE var_lookup,only:iLookFLUX           ! named variables for structure elements
-USE var_lookup,only:iLookFORCE          ! named variables for structure elements
-USE var_lookup,only:iLookPARAM          ! named variables for structure elements
-USE var_lookup,only:iLookINDEX          ! named variables for structure elements
-USE var_lookup,only:iLookBVAR           ! named variables for structure elements
-USE var_lookup,only:iLookDECISIONS                               ! named variables for elements of the decision structure
-
-! constants
-USE multiconst,only:gravity    ! acceleration of gravity              (m s-2)
-USE multiconst,only:vkc        ! von Karman's constant                (-)
-USE multiconst,only:w_ratio    ! molecular ratio water to dry air     (-)
-USE multiconst,only:R_wv       ! gas constant for water vapor         (Pa K-1 m3 kg-1; J kg-1 K-1)
-USE multiconst,only:Cp_air     ! specific heat of air                 (J kg-1 K-1)
-USE multiconst,only:Cp_ice     ! specific heat of ice                 (J kg-1 K-1)
-USE multiconst,only:Cp_soil    ! specific heat of soil                (J kg-1 K-1)
-USE multiconst,only:Cp_water   ! specific heat of liquid water        (J kg-1 K-1)
-USE multiconst,only:Tfreeze    ! temperature at freezing              (K)
-USE multiconst,only:LH_fus     ! latent heat of fusion                (J kg-1)
-USE multiconst,only:LH_vap     ! latent heat of vaporization          (J kg-1)
-USE multiconst,only:LH_sub     ! latent heat of sublimation           (J kg-1)
-USE multiconst,only:sb         ! Stefan Boltzman constant             (W m-2 K-4)
-USE multiconst,only:iden_air   ! intrinsic density of air             (kg m-3)
-USE multiconst,only:iden_ice   ! intrinsic density of ice             (kg m-3)
-USE multiconst,only:iden_water ! intrinsic density of liquid water    (kg m-3)
-
-! look-up values for method used to compute derivative
-USE mDecisions_module,only:  &
- numerical,                  & ! numerical solution
- analytical                    ! analytical solution
-
-! look-up values for choice of boundary conditions for thermodynamics
-USE mDecisions_module,only:  &
- prescribedTemp,             & ! prescribed temperature
- energyFlux,                 & ! energy flux
- zeroFlux                      ! zero flux
-
-! look-up values for the choice of parameterization for vegetation roughness length and displacement height
-USE mDecisions_module,only:  &
- Raupach_BLM1994,            & ! Raupach (BLM 1994) "Simplified expressions..."
- CM_QJRMS1988,               & ! Choudhury and Monteith (QJRMS 1988) "A four layer model for the heat budget..."
- vegTypeTable                  ! constant parameters dependent on the vegetation type
-
-! look-up values for the choice of parameterization for canopy emissivity
-USE mDecisions_module,only:  &
- simplExp,                   & ! simple exponential function
- difTrans                      ! parameterized as a function of diffuse transmissivity
-
-! look-up values for the choice of canopy wind profile
-USE mDecisions_module,only:  &
- exponential,                & ! exponential wind profile extends to the surface
- logBelowCanopy                ! logarithmic profile below the vegetation canopy
-
-! look-up values for choice of stability function
-USE mDecisions_module,only:  &
- standard,                   & ! standard MO similarity, a la Anderson (1976)
- louisInversePower,          & ! Louis (1979) inverse power function
- mahrtExponential              ! Mahrt (1987) exponential
-
-! look-up values for the choice of groundwater representation (local-column, or single-basin)
-USE mDecisions_module,only:  &
- localColumn,                & ! separate groundwater representation in each local soil column
- singleBasin                   ! single groundwater store over the entire basin
-
-! -------------------------------------------------------------------------------------------------
-! privacy
-implicit none
-private
-public::vegNrgFlux
-public::wettedFrac
-! dimensions
-integer(i4b),parameter        :: nBands=2      ! number of spectral bands for shortwave radiation
-! named variables
-integer(i4b),parameter        :: ist     = 1   ! Surface type:  IST=1 => soil;  IST=2 => lake
-integer(i4b),parameter        :: isc     = 4   ! Soil color type
-integer(i4b),parameter        :: ice     = 0   ! Surface type:  ICE=0 => soil;  ICE=1 => sea-ice
-! spatial indices
-integer(i4b),parameter        :: iLoc    = 1   ! i-location
-integer(i4b),parameter        :: jLoc    = 1   ! j-location
-! algorithmic parameters
-real(dp),parameter     :: missingValue=-9999._dp   ! missing value, used when diagnostic or state variables are undefined
-real(dp),parameter     :: verySmall=1.e-6_dp       ! used as an additive constant to check if substantial difference among real numbers
-real(dp),parameter     :: tinyVal=epsilon(1._dp)   ! used as an additive constant to check if substantial difference among real numbers
-real(dp),parameter     :: mpe=1.e-6_dp             ! prevents overflow error if division by zero
-real(dp),parameter     :: dx=1.e-11_dp             ! finite difference increment
-! control
-logical(lgt)           :: printflag            ! flag to turn on printing
-contains
-
- ! *******************************************************************************************************
- ! public subroutine vegNrgFlux: muster program to compute energy fluxes at vegetation and ground surfaces
- ! *******************************************************************************************************
- subroutine vegNrgFlux(&
+    ! data types
+    USE nrtype
+    
+    ! derived types to define the data structures
+    USE data_types,only:&
+                        var_i,            & ! data vector (i4b)
+                        var_d,            & ! data vector (rkind)
+                        var_ilength,      & ! data vector with variable length dimension (i4b)
+                        var_dlength,      & ! data vector with variable length dimension (rkind)
+                        model_options       ! defines the model decisions
+    
+    ! indices that define elements of the data structures
+    USE var_lookup,only:iLookTYPE           ! named variables for structure elements
+    USE var_lookup,only:iLookPROG           ! named variables for structure elements
+    USE var_lookup,only:iLookDIAG           ! named variables for structure elements
+    USE var_lookup,only:iLookFLUX           ! named variables for structure elements
+    USE var_lookup,only:iLookFORCE          ! named variables for structure elements
+    USE var_lookup,only:iLookPARAM          ! named variables for structure elements
+    USE var_lookup,only:iLookINDEX          ! named variables for structure elements
+    USE var_lookup,only:iLookBVAR           ! named variables for structure elements
+    USE var_lookup,only:iLookDECISIONS                               ! named variables for elements of the decision structure
+    
+    ! constants
+    USE multiconst,only:gravity    ! acceleration of gravity              (m s-2)
+    USE multiconst,only:vkc        ! von Karman's constant                (-)
+    USE multiconst,only:w_ratio    ! molecular ratio water to dry air     (-)
+    USE multiconst,only:R_wv       ! gas constant for water vapor         (Pa K-1 m3 kg-1; J kg-1 K-1)
+    USE multiconst,only:Cp_air     ! specific heat of air                 (J kg-1 K-1)
+    USE multiconst,only:Cp_ice     ! specific heat of ice                 (J kg-1 K-1)
+    USE multiconst,only:Cp_soil    ! specific heat of soil                (J kg-1 K-1)
+    USE multiconst,only:Cp_water   ! specific heat of liquid water        (J kg-1 K-1)
+    USE multiconst,only:Tfreeze    ! temperature at freezing              (K)
+    USE multiconst,only:LH_fus     ! latent heat of fusion                (J kg-1)
+    USE multiconst,only:LH_vap     ! latent heat of vaporization          (J kg-1)
+    USE multiconst,only:LH_sub     ! latent heat of sublimation           (J kg-1)
+    USE multiconst,only:sb         ! Stefan Boltzman constant             (W m-2 K-4)
+    USE multiconst,only:iden_air   ! intrinsic density of air             (kg m-3)
+    USE multiconst,only:iden_ice   ! intrinsic density of ice             (kg m-3)
+    USE multiconst,only:iden_water ! intrinsic density of liquid water    (kg m-3)
+    
+    ! look-up values for method used to compute derivative
+    USE mDecisions_module,only:  &
+     numerical,                  & ! numerical solution
+     analytical                    ! analytical solution
+    
+    ! look-up values for choice of boundary conditions for thermodynamics
+    USE mDecisions_module,only:  &
+     prescribedTemp,             & ! prescribed temperature
+     energyFlux,                 & ! energy flux
+     zeroFlux                      ! zero flux
+    
+    ! look-up values for the choice of parameterization for vegetation roughness length and displacement height
+    USE mDecisions_module,only:  &
+     Raupach_BLM1994,            & ! Raupach (BLM 1994) "Simplified expressions..."
+     CM_QJRMS1988,               & ! Choudhury and Monteith (QJRMS 1988) "A four layer model for the heat budget..."
+     vegTypeTable                  ! constant parameters dependent on the vegetation type
+    
+    ! look-up values for the choice of parameterization for canopy emissivity
+    USE mDecisions_module,only:  &
+     simplExp,                   & ! simple exponential function
+     difTrans                      ! parameterized as a function of diffuse transmissivity
+    
+    ! look-up values for the choice of canopy wind profile
+    USE mDecisions_module,only:  &
+     exponential,                & ! exponential wind profile extends to the surface
+     logBelowCanopy                ! logarithmic profile below the vegetation canopy
+    
+    ! look-up values for choice of stability function
+    USE mDecisions_module,only:  &
+     standard,                   & ! standard MO similarity, a la Anderson (1976)
+     louisInversePower,          & ! Louis (1979) inverse power function
+     mahrtExponential              ! Mahrt (1987) exponential
+    
+    ! look-up values for the choice of groundwater representation (local-column, or single-basin)
+    USE mDecisions_module,only:  &
+     localColumn,                & ! separate groundwater representation in each local soil column
+     singleBasin                   ! single groundwater store over the entire basin
+    
+    ! -------------------------------------------------------------------------------------------------
+    ! privacy
+    implicit none
+    private
+    public::vegNrgFlux
+    public::wettedFrac
+    ! dimensions
+    integer(i4b),parameter        :: nBands=2      ! number of spectral bands for shortwave radiation
+    ! named variables
+    integer(i4b),parameter        :: ist     = 1   ! Surface type:  IST=1 => soil;  IST=2 => lake
+    integer(i4b),parameter        :: isc     = 4   ! Soil color type
+    integer(i4b),parameter        :: ice     = 0   ! Surface type:  ICE=0 => soil;  ICE=1 => sea-ice
+    ! spatial indices
+    integer(i4b),parameter        :: iLoc    = 1   ! i-location
+    integer(i4b),parameter        :: jLoc    = 1   ! j-location
+    ! algorithmic parameters
+    real(rkind),parameter     :: missingValue=-9999._rkind   ! missing value, used when diagnostic or state variables are undefined
+    real(rkind),parameter     :: verySmall=1.e-6_rkind       ! used as an additive constant to check if substantial difference among real numbers
+    real(rkind),parameter     :: tinyVal=epsilon(1._rkind)   ! used as an additive constant to check if substantial difference among real numbers
+    real(rkind),parameter     :: mpe=1.e-6_rkind             ! prevents overflow error if division by zero
+    real(rkind),parameter     :: dx=1.e-11_rkind             ! finite difference increment
+    ! control
+    logical(lgt)           :: printflag            ! flag to turn on printing
+    contains
+    
+     ! *******************************************************************************************************
+     ! public subroutine vegNrgFlux: muster program to compute energy fluxes at vegetation and ground surfaces
+     ! *******************************************************************************************************
+     subroutine vegNrgFlux(&
+                           ! input: model control
+                           firstSubStep,                            & ! intent(in): flag to indicate if we are processing the first sub-step
+                           firstFluxCall,                           & ! intent(in): flag to indicate if we are processing the first flux call
+                           computeVegFlux,                          & ! intent(in): flag to indicate if we need to compute fluxes over vegetation
+                           requireLWBal,                            & ! intent(in): flag to indicate if we need longwave to be balanced
+    
+                           ! input: model state variables
+                           upperBoundTemp,                          & ! intent(in): temperature of the upper boundary (K) --> NOTE: use air temperature
+                           canairTempTrial,                         & ! intent(in): trial value of the canopy air space temperature (K)
+                           canopyTempTrial,                         & ! intent(in): trial value of canopy temperature (K)
+                           groundTempTrial,                         & ! intent(in): trial value of ground temperature (K)
+                           canopyIceTrial,                          & ! intent(in): trial value of mass of ice on the vegetation canopy (kg m-2)
+                           canopyLiqTrial,                          & ! intent(in): trial value of mass of liquid water on the vegetation canopy (kg m-2)
+    
+                           ! input: model derivatives
+                           dCanLiq_dTcanopy,                        & ! intent(in): derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+    
+                           ! input/output: data structures
+                           type_data,                               & ! intent(in):    type of vegetation and soil
+                           forc_data,                               & ! intent(in):    model forcing data
+                           mpar_data,                               & ! intent(in):    model parameters
+                           indx_data,                               & ! intent(in):    state vector geometry
+                           prog_data,                               & ! intent(in):    model prognostic variables for a local HRU
+                           diag_data,                               & ! intent(inout): model diagnostic variables for a local HRU
+                           flux_data,                               & ! intent(inout): model fluxes for a local HRU
+                           bvar_data,                               & ! intent(in):    model variables for the local basin
+                           model_decisions,                         & ! intent(in):    model decisions
+    
+                           ! output: liquid water fluxes associated with evaporation/transpiration (needed for coupling)
+                           returnCanopyTranspiration,               & ! intent(out): canopy transpiration (kg m-2 s-1)
+                           returnCanopyEvaporation,                 & ! intent(out): canopy evaporation/condensation (kg m-2 s-1)
+                           returnGroundEvaporation,                 & ! intent(out): ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+    
+                           ! output: fluxes
+                           canairNetFlux,                           & ! intent(out): net energy flux for the canopy air space (W m-2)
+                           canopyNetFlux,                           & ! intent(out): net energy flux for the vegetation canopy (W m-2)
+                           groundNetFlux,                           & ! intent(out): net energy flux for the ground surface (W m-2)
+    
+                           ! output: energy flux derivatives
+                           dCanairNetFlux_dCanairTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+                           dCanairNetFlux_dCanopyTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+                           dCanairNetFlux_dGroundTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+                           dCanopyNetFlux_dCanairTemp,              & ! intent(out): derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+                           dCanopyNetFlux_dCanopyTemp,              & ! intent(out): derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+                           dCanopyNetFlux_dGroundTemp,              & ! intent(out): derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+                           dGroundNetFlux_dCanairTemp,              & ! intent(out): derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+                           dGroundNetFlux_dCanopyTemp,              & ! intent(out): derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+                           dGroundNetFlux_dGroundTemp,              & ! intent(out): derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+    
+                           ! output liquid water flux derivarives (canopy evap)
+                           dCanopyEvaporation_dCanWat,              & ! intent(out): derivative in canopy evaporation w.r.t. canopy total water content (s-1)
+                           dCanopyEvaporation_dTCanair,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+                           dCanopyEvaporation_dTCanopy,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+                           dCanopyEvaporation_dTGround,             & ! intent(out): derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+                           ! output: liquid water flux derivarives (ground evap)
+                           dGroundEvaporation_dCanWat,              & ! intent(out): derivative in ground evaporation w.r.t. canopy total water content (s-1)
+                           dGroundEvaporation_dTCanair,             & ! intent(out): derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+                           dGroundEvaporation_dTCanopy,             & ! intent(out): derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+                           dGroundEvaporation_dTGround,             & ! intent(out): derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+                           ! output: transpiration derivatives
+                           dCanopyTrans_dCanWat,                    & ! intent(out): derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+                           dCanopyTrans_dTCanair,                   & ! intent(out): derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+                           dCanopyTrans_dTCanopy,                   & ! intent(out): derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+                           dCanopyTrans_dTGround,                   & ! intent(out): derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+                           ! output: cross derivative terms
+                           dCanopyNetFlux_dCanWat,                  & ! intent(out): derivative in net canopy fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                           dGroundNetFlux_dCanWat,                  & ! intent(out): derivative in net ground fluxes w.r.t. canopy total water content (J kg-1 s-1)
+    
+                           ! output: error control
+                           err,message)                               ! intent(out): error control
+    
+     ! utilities
+     USE expIntegral_module,only:expInt                               ! function to calculate the exponential integral
+     ! conversion functions
+     USE conv_funcs_module,only:satVapPress                           ! function to compute the saturated vapor pressure (Pa)
+     USE conv_funcs_module,only:getLatentHeatValue                    ! function to identify latent heat of vaporization/sublimation (J kg-1)
+     ! stomatal resistance
+     USE stomResist_module,only:stomResist                            ! subroutine to calculate stomatal resistance
+     ! phase changes
+     USE snow_utils_module,only:fracliquid      ! compute fraction of liquid water at a given temperature
+    
+     ! compute energy and mass fluxes for vegetation
+     implicit none
+    
+     ! ---------------------------------------------------------------------------------------
+     ! * dummy variables
+     ! ---------------------------------------------------------------------------------------
+     ! input: model control
+     logical(lgt),intent(in)         :: firstSubStep                    ! flag to indicate if we are processing the first sub-step
+     logical(lgt),intent(in)         :: firstFluxCall                   ! flag to indicate if we are processing the first flux call
+     logical(lgt),intent(in)         :: computeVegFlux                  ! flag to indicate if computing fluxes over vegetation
+     logical(lgt),intent(in)         :: requireLWBal                    ! flag to indicate if we need longwave to be balanced
+     ! input: model state variables
+     real(rkind),intent(in)             :: upperBoundTemp                  ! temperature of the upper boundary (K) --> NOTE: use air temperature
+     real(rkind),intent(in)             :: canairTempTrial                 ! trial value of canopy air space temperature (K)
+     real(rkind),intent(in)             :: canopyTempTrial                 ! trial value of canopy temperature (K)
+     real(rkind),intent(in)             :: groundTempTrial                 ! trial value of ground temperature (K)
+     real(rkind),intent(in)             :: canopyIceTrial                  ! trial value of mass of ice on the vegetation canopy (kg m-2)
+     real(rkind),intent(in)             :: canopyLiqTrial                  ! trial value of mass of liquid water on the vegetation canopy (kg m-2)
+    
+     ! input: model derivatives
+     real(rkind),intent(in)             :: dCanLiq_dTcanopy                ! intent(in): derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+    
+     ! input/output: data structures
+     type(var_i),intent(in)          :: type_data                       ! type of vegetation and soil
+     type(var_d),intent(in)          :: forc_data                       ! model forcing data
+     type(var_dlength),intent(in)    :: mpar_data                       ! model parameters
+     type(var_ilength),intent(in)    :: indx_data                       ! state vector geometry
+     type(var_dlength),intent(in)    :: prog_data                       ! prognostic variables for a local HRU
+     type(var_dlength),intent(inout) :: diag_data                       ! diagnostic variables for a local HRU
+     type(var_dlength),intent(inout) :: flux_data                       ! model fluxes for a local HRU
+     type(var_dlength),intent(in)    :: bvar_data                       ! model variables for the local basin
+     type(model_options),intent(in)  :: model_decisions(:)              ! model decisions
+    
+     ! output: liquid water fluxes associated with evaporation/transpiration (needed for coupling)
+     real(rkind),intent(out)            :: returnCanopyTranspiration       ! canopy transpiration (kg m-2 s-1)
+     real(rkind),intent(out)            :: returnCanopyEvaporation         ! canopy evaporation/condensation (kg m-2 s-1)
+     real(rkind),intent(out)            :: returnGroundEvaporation         ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+    
+     ! output: fluxes
+     real(rkind),intent(out)            :: canairNetFlux                   ! net energy flux for the canopy air space (W m-2)
+     real(rkind),intent(out)            :: canopyNetFlux                   ! net energy flux for the vegetation canopy (W m-2)
+     real(rkind),intent(out)            :: groundNetFlux                   ! net energy flux for the ground surface (W m-2)
+    
+     ! output: energy flux derivatives
+     real(rkind),intent(out)            :: dCanairNetFlux_dCanairTemp      ! derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dCanairNetFlux_dCanopyTemp      ! derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dCanairNetFlux_dGroundTemp      ! derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dCanopyNetFlux_dCanairTemp      ! derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dCanopyNetFlux_dCanopyTemp      ! derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dCanopyNetFlux_dGroundTemp      ! derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dGroundNetFlux_dCanairTemp      ! derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dGroundNetFlux_dCanopyTemp      ! derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)            :: dGroundNetFlux_dGroundTemp      ! derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+    
+     ! output: liquid flux derivatives (canopy evap)
+     real(rkind),intent(out)            :: dCanopyEvaporation_dCanWat      ! derivative in canopy evaporation w.r.t. canopy total water content (s-1)
+     real(rkind),intent(out)            :: dCanopyEvaporation_dTCanair     ! derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+     real(rkind),intent(out)            :: dCanopyEvaporation_dTCanopy     ! derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+     real(rkind),intent(out)            :: dCanopyEvaporation_dTGround     ! derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+     ! output: liquid flux derivatives (ground evap)
+     real(rkind),intent(out)            :: dGroundEvaporation_dCanWat      ! derivative in ground evaporation w.r.t. canopy total water content (s-1)
+     real(rkind),intent(out)            :: dGroundEvaporation_dTCanair     ! derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+     real(rkind),intent(out)            :: dGroundEvaporation_dTCanopy     ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+     real(rkind),intent(out)            :: dGroundEvaporation_dTGround     ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+    ! output: transpiration derivatives
+     real(rkind),intent(out)            :: dCanopyTrans_dCanWat            ! intent(out): derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+     real(rkind),intent(out)            :: dCanopyTrans_dTCanair           ! intent(out): derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+     real(rkind),intent(out)            :: dCanopyTrans_dTCanopy           ! intent(out): derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+     real(rkind),intent(out)            :: dCanopyTrans_dTGround           ! intent(out): derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+     ! output: cross derivative terms
+     real(rkind),intent(out)            :: dCanopyNetFlux_dCanWat          ! derivative in net canopy fluxes w.r.t. canopy total water content (J kg-1 s-1)
+     real(rkind),intent(out)            :: dGroundNetFlux_dCanWat          ! derivative in net ground fluxes w.r.t. canopy total water content (J kg-1 s-1)
+    
+     ! output: error control
+     integer(i4b),intent(out)        :: err                             ! error code
+     character(*),intent(out)        :: message                         ! error message
+    
+     ! ---------------------------------------------------------------------------------------
+     ! * local variables
+     ! ---------------------------------------------------------------------------------------
+     ! local (general)
+     character(LEN=256)             :: cmessage                         ! error message of downwind routine
+     real(rkind)                       :: VAI                              ! vegetation area index (m2 m-2)
+     real(rkind)                       :: exposedVAI                       ! exposed vegetation area index (m2 m-2)
+     real(rkind)                       :: totalCanopyWater                 ! total water on the vegetation canopy (kg m-2)
+     real(rkind)                       :: scalarAquiferStorage             ! aquifer storage (m)
+    
+     ! local (compute numerical derivatives)
+     integer(i4b),parameter         :: unperturbed=1                    ! named variable to identify the case of unperturbed state variables
+     integer(i4b),parameter         :: perturbStateGround=2             ! named variable to identify the case where we perturb the ground temperature
+     integer(i4b),parameter         :: perturbStateCanopy=3             ! named variable to identify the case where we perturb the canopy temperature
+     integer(i4b),parameter         :: perturbStateCanair=4             ! named variable to identify the case where we perturb the canopy air temperature
+     integer(i4b),parameter         :: perturbStateCanWat=5             ! named variable to identify the case where we perturb the canopy total water content
+     integer(i4b)                   :: itry                             ! index of flux evaluation
+     integer(i4b)                   :: nFlux                            ! number of flux evaluations
+     real(rkind)                       :: groundTemp                       ! value of ground temperature used in flux calculations (may be perturbed)
+     real(rkind)                       :: canopyTemp                       ! value of canopy temperature used in flux calculations (may be perturbed)
+     real(rkind)                       :: canairTemp                       ! value of canopy air temperature used in flux calculations (may be perturbed)
+     real(rkind)                       :: canopyWat                        ! value of canopy total water used in flux calculations (may be perturbed)
+     real(rkind)                       :: canopyLiq                        ! value of canopy liquid water used in flux calculations (may be perturbed)
+     real(rkind)                       :: canopyIce                        ! value of canopy ice used in flux calculations (may be perturbed)
+     real(rkind)                       :: try0,try1                        ! trial values to evaluate specific derivatives (testing only)
+    
+     ! local (saturation vapor pressure of veg)
+     real(rkind)                       :: TV_celcius                       ! vegetaion temperature (C)
+     real(rkind)                       :: TG_celcius                       ! ground temperature (C)
+     real(rkind)                       :: dSVPCanopy_dCanopyTemp           ! derivative in canopy saturated vapor pressure w.r.t. vegetation temperature (Pa/K)
+     real(rkind)                       :: dSVPGround_dGroundTemp           ! derivative in ground saturated vapor pressure w.r.t. ground temperature (Pa/K)
+    
+     ! local (wetted canopy area)
+     real(rkind)                       :: fracLiquidCanopy                 ! fraction of liquid water in the canopy (-)
+     real(rkind)                       :: canopyWetFraction                ! trial value of the canopy wetted fraction (-)
+     real(rkind)                       :: dCanopyWetFraction_dWat          ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+     real(rkind)                       :: dCanopyWetFraction_dT            ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+    
+     ! local (longwave radiation)
+     real(rkind)                       :: expi                             ! exponential integral
+     real(rkind)                       :: scaleLAI                         ! scaled LAI (computing diffuse transmissivity)
+     real(rkind)                       :: diffuseTrans                     ! diffuse transmissivity (-)
+     real(rkind)                       :: groundEmissivity                 ! emissivity of the ground surface (-)
+     real(rkind),parameter             :: vegEmissivity=0.98_rkind            ! emissivity of vegetation (0.9665 in JULES) (-)
+     real(rkind),parameter             :: soilEmissivity=0.98_rkind           ! emmisivity of the soil (0.9665 in JULES) (-)
+     real(rkind),parameter             :: snowEmissivity=0.99_rkind           ! emissivity of snow (-)
+     real(rkind)                       :: dLWNetCanopy_dTCanopy            ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind)                       :: dLWNetGround_dTGround            ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+     real(rkind)                       :: dLWNetCanopy_dTGround            ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+     real(rkind)                       :: dLWNetGround_dTCanopy            ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+    
+     ! local (aerodynamic resistance)
+     real(rkind)                       :: scalarCanopyStabilityCorrection_old    ! stability correction for the canopy (-)
+     real(rkind)                       :: scalarGroundStabilityCorrection_old    ! stability correction for the ground surface (-)
+    
+     ! local (turbulent heat transfer)
+     real(rkind)                       :: z0Ground                         ! roughness length of the ground (ground below the canopy or non-vegetated surface) (m)
+     real(rkind)                       :: soilEvapFactor                   ! soil water control on evaporation from non-vegetated surfaces
+     real(rkind)                       :: soilRelHumidity_noSnow           ! relative humidity in the soil pores [0-1]
+     real(rkind)                       :: scalarLeafConductance            ! leaf conductance (m s-1)
+     real(rkind)                       :: scalarCanopyConductance          ! canopy conductance (m s-1)
+     real(rkind)                       :: scalarGroundConductanceSH        ! ground conductance for sensible heat (m s-1)
+     real(rkind)                       :: scalarGroundConductanceLH        ! ground conductance for latent heat -- includes soil resistance (m s-1)
+     real(rkind)                       :: scalarEvapConductance            ! conductance for evaporation (m s-1)
+     real(rkind)                       :: scalarTransConductance           ! conductance for transpiration (m s-1)
+     real(rkind)                       :: scalarTotalConductanceSH         ! total conductance for sensible heat (m s-1)
+     real(rkind)                       :: scalarTotalConductanceLH         ! total conductance for latent heat (m s-1)
+     real(rkind)                       :: dGroundResistance_dTGround       ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+     real(rkind)                       :: dGroundResistance_dTCanopy       ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind)                       :: dGroundResistance_dTCanair       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+     real(rkind)                       :: dCanopyResistance_dTCanopy       ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind)                       :: dCanopyResistance_dTCanair       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+     real(rkind)                       :: turbFluxCanair                   ! total turbulent heat fluxes exchanged at the canopy air space (W m-2)
+     real(rkind)                       :: turbFluxCanopy                   ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+     real(rkind)                       :: turbFluxGround                   ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+    
+     ! local (turbulent heat transfer -- compute numerical derivatives)
+     ! (temporary scalar resistances when states are perturbed)
+     real(rkind)                       :: trialLeafResistance              ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+     real(rkind)                       :: trialGroundResistance            ! below canopy aerodynamic resistance (s m-1)
+     real(rkind)                       :: trialCanopyResistance            ! above canopy aerodynamic resistance (s m-1)
+     real(rkind)                       :: notUsed_RiBulkCanopy             ! bulk Richardson number for the canopy (-)
+     real(rkind)                       :: notUsed_RiBulkGround             ! bulk Richardson number for the ground surface (-)
+     real(rkind)                       :: notUsed_z0Canopy                 ! roughness length of the vegetation canopy (m)
+     real(rkind)                       :: notUsed_WindReductionFactor      ! canopy wind reduction factor (-)
+     real(rkind)                       :: notUsed_ZeroPlaneDisplacement    ! zero plane displacement (m)
+     real(rkind)                       :: notUsed_scalarCanopyStabilityCorrection  ! stability correction for the canopy (-)
+     real(rkind)                       :: notUsed_scalarGroundStabilityCorrection  ! stability correction for the ground surface (-)
+     real(rkind)                       :: notUsed_EddyDiffusCanopyTop      ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+     real(rkind)                       :: notUsed_FrictionVelocity         ! friction velocity (m s-1)
+     real(rkind)                       :: notUsed_WindspdCanopyTop         ! windspeed at the top of the canopy (m s-1)
+     real(rkind)                       :: notUsed_WindspdCanopyBottom      ! windspeed at the height of the bottom of the canopy (m s-1)
+     real(rkind)                       :: notUsed_dGroundResistance_dTGround  ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+     real(rkind)                       :: notUsed_dGroundResistance_dTCanopy  ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind)                       :: notUsed_dGroundResistance_dTCanair  ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+     real(rkind)                       :: notUsed_dCanopyResistance_dTCanopy  ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind)                       :: notUsed_dCanopyResistance_dTCanair  ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+    
+     ! (fluxes after perturbations in model states -- canopy air space)
+     real(rkind)                       :: turbFluxCanair_dStateCanair      ! turbulent exchange from the canopy air space to the atmosphere, after canopy air temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxCanair_dStateCanopy      ! turbulent exchange from the canopy air space to the atmosphere, after canopy temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxCanair_dStateGround      ! turbulent exchange from the canopy air space to the atmosphere, after ground temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxCanair_dStateCanWat      ! turbulent exchange from the canopy air space to the atmosphere, after canopy total water content is perturbed (W m-2)
+     ! (fluxes after perturbations in model states -- vegetation canopy)
+     real(rkind)                       :: turbFluxCanopy_dStateCanair      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy air temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxCanopy_dStateCanopy      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxCanopy_dStateGround      ! total turbulent heat fluxes from the canopy to the canopy air space, after ground temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxCanopy_dStateCanWat      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy total water content is perturbed (W m-2)
+    
+     ! (fluxes after perturbations in model states -- ground surface)
+     real(rkind)                       :: turbFluxGround_dStateCanair      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy air temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxGround_dStateCanopy      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxGround_dStateGround      ! total turbulent heat fluxes from the ground to the canopy air space, after ground temperature is perturbed (W m-2)
+     real(rkind)                       :: turbFluxGround_dStateCanWat      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy total water content is perturbed (W m-2)
+    
+     ! (fluxes after perturbations in model states -- canopy evaporation)
+     real(rkind)                       :: latHeatCanEvap_dStateCanair      ! canopy evaporation after canopy air temperature is perturbed (W m-2)
+     real(rkind)                       :: latHeatCanEvap_dStateCanopy      ! canopy evaporation after canopy temperature is perturbed (W m-2)
+     real(rkind)                       :: latHeatCanEvap_dStateGround      ! canopy evaporation after ground temperature is perturbed (W m-2)
+     real(rkind)                       :: latHeatCanEvap_dStateCanWat      ! canopy evaporation after canopy total water content is perturbed (W m-2)
+    
+     ! (flux derivatives -- canopy air space)
+     real(rkind)                       :: dTurbFluxCanair_dTCanair         ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxCanair_dTCanopy         ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxCanair_dTGround         ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxCanair_dCanWat          ! derivative in net canopy air space fluxes w.r.t. canopy total water content (J kg-1 s-1)
+    
+     ! (flux derivatives -- vegetation canopy)
+     real(rkind)                       :: dTurbFluxCanopy_dTCanair         ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxCanopy_dTCanopy         ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxCanopy_dTGround         ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxCanopy_dCanWat          ! derivative in net canopy turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+    
+     ! (flux derivatives -- ground surface)
+     real(rkind)                       :: dTurbFluxGround_dTCanair         ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxGround_dTCanopy         ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxGround_dTGround         ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+     real(rkind)                       :: dTurbFluxGround_dCanWat          ! derivative in net ground turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+    
+     ! (liquid water flux derivatives -- canopy evap)
+     real(rkind)                       :: dLatHeatCanopyEvap_dCanWat       ! derivative in latent heat of canopy evaporation w.r.t. canopy total water content (W kg-1)
+     real(rkind)                       :: dLatHeatCanopyEvap_dTCanair      ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind)                       :: dLatHeatCanopyEvap_dTCanopy      ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind)                       :: dLatHeatCanopyEvap_dTGround      ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+    
+     ! (liquid water flux derivatives -- ground evap)
+     real(rkind)                       :: dLatHeatGroundEvap_dCanWat       ! derivative in latent heat of ground evaporation w.r.t. canopy total water content (J kg-1 s-1)
+     real(rkind)                       :: dLatHeatGroundEvap_dTCanair      ! derivative in latent heat of ground evaporation w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind)                       :: dLatHeatGroundEvap_dTCanopy      ! derivative in latent heat of ground evaporation w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind)                       :: dLatHeatGroundEvap_dTGround      ! derivative in latent heat of ground evaporation w.r.t. ground temperature (W m-2 K-1)
+    
+     ! output: latent heat flux derivatives (canopy trans)
+     real(rkind)                      :: dLatHeatCanopyTrans_dCanWat       ! derivative in the latent heat of canopy transpiration w.r.t. canopy total water (J kg-1 s-1)
+     real(rkind)                      :: dLatHeatCanopyTrans_dTCanair      ! derivative in the latent heat of canopy transpiration w.r.t. canopy air temperature
+     real(rkind)                      :: dLatHeatCanopyTrans_dTCanopy      ! derivative in the latent heat of canopy transpiration w.r.t. canopy temperature
+     real(rkind)                      :: dLatHeatCanopyTrans_dTGround      ! derivative in the latent heat of canopy transpiration w.r.t. ground temperature
+    
+     ! ---------------------------------------------------------------------------------------
+     ! point to variables in the data structure
+     ! ---------------------------------------------------------------------------------------
+     associate(&
+    
+     ! input: model decisions
+     ix_bcUpprTdyn                   => model_decisions(iLookDECISIONS%bcUpprTdyn)%iDecision,           & ! intent(in): [i4b] choice of upper boundary condition for thermodynamics
+     ixDerivMethod                   => model_decisions(iLookDECISIONS%fDerivMeth)%iDecision,           & ! intent(in): [i4b] choice of method to compute derivatives
+     ix_veg_traits                   => model_decisions(iLookDECISIONS%veg_traits)%iDecision,           & ! intent(in): [i4b] choice of parameterization for vegetation roughness length and displacement height
+     ix_canopyEmis                   => model_decisions(iLookDECISIONS%canopyEmis)%iDecision,           & ! intent(in): [i4b] choice of parameterization for canopy emissivity
+     ix_windPrfile                   => model_decisions(iLookDECISIONS%windPrfile)%iDecision,           & ! intent(in): [i4b] choice of canopy wind profile
+     ix_astability                   => model_decisions(iLookDECISIONS%astability)%iDecision,           & ! intent(in): [i4b] choice of stability function
+     ix_soilStress                   => model_decisions(iLookDECISIONS%soilStress)%iDecision,           & ! intent(in): [i4b] choice of function for the soil moisture control on stomatal resistance
+     ix_groundwatr                   => model_decisions(iLookDECISIONS%groundwatr)%iDecision,           & ! intent(in): [i4b] choice of groundwater parameterization
+     ix_stomResist                   => model_decisions(iLookDECISIONS%stomResist)%iDecision,           & ! intent(in): [i4b] choice of function for stomatal resistance
+     ix_spatial_gw                   => model_decisions(iLookDECISIONS%spatial_gw)%iDecision,           & ! intent(in): [i4b] choice of groundwater representation (local, basin)
+    
+     ! input: layer geometry
+     nSnow                           => indx_data%var(iLookINDEX%nSnow)%dat(1),                         & ! intent(in): [i4b] number of snow layers
+     nSoil                           => indx_data%var(iLookINDEX%nSoil)%dat(1),                         & ! intent(in): [i4b] number of soil layers
+     nLayers                         => indx_data%var(iLookINDEX%nLayers)%dat(1),                       & ! intent(in): [i4b] total number of layers
+    
+     ! input: physical attributes
+     vegTypeIndex                    => type_data%var(iLookTYPE%vegTypeIndex),                          & ! intent(in): [i4b] vegetation type index
+     soilTypeIndex                   => type_data%var(iLookTYPE%soilTypeIndex),                         & ! intent(in): [i4b] soil type index
+    
+     ! input: vegetation parameters
+     heightCanopyTop                 => mpar_data%var(iLookPARAM%heightCanopyTop)%dat(1),               & ! intent(in): [dp] height at the top of the vegetation canopy (m)
+     heightCanopyBottom              => mpar_data%var(iLookPARAM%heightCanopyBottom)%dat(1),            & ! intent(in): [dp] height at the bottom of the vegetation canopy (m)
+     canopyWettingFactor             => mpar_data%var(iLookPARAM%canopyWettingFactor)%dat(1),           & ! intent(in): [dp] maximum wetted fraction of the canopy (-)
+     canopyWettingExp                => mpar_data%var(iLookPARAM%canopyWettingExp)%dat(1),              & ! intent(in): [dp] exponent in canopy wetting function (-)
+     scalarCanopyIceMax              => diag_data%var(iLookDIAG%scalarCanopyIceMax)%dat(1),             & ! intent(in): [dp] maximum interception storage capacity for ice (kg m-2)
+     scalarCanopyLiqMax              => diag_data%var(iLookDIAG%scalarCanopyLiqMax)%dat(1),             & ! intent(in): [dp] maximum interception storage capacity for liquid water (kg m-2)
+    
+     ! input: vegetation phenology
+     scalarLAI                       => diag_data%var(iLookDIAG%scalarLAI)%dat(1),                      & ! intent(in): [dp] one-sided leaf area index (m2 m-2)
+     scalarSAI                       => diag_data%var(iLookDIAG%scalarSAI)%dat(1),                      & ! intent(in): [dp] one-sided stem area index (m2 m-2)
+     scalarExposedLAI                => diag_data%var(iLookDIAG%scalarExposedLAI)%dat(1),               & ! intent(in): [dp] exposed leaf area index after burial by snow (m2 m-2)
+     scalarExposedSAI                => diag_data%var(iLookDIAG%scalarExposedSAI)%dat(1),               & ! intent(in): [dp] exposed stem area index after burial by snow (m2 m-2)
+     scalarGrowingSeasonIndex        => diag_data%var(iLookDIAG%scalarGrowingSeasonIndex)%dat(1),       & ! intent(in): [dp] growing season index (0=off, 1=on)
+     scalarFoliageNitrogenFactor     => diag_data%var(iLookDIAG%scalarFoliageNitrogenFactor)%dat(1),    & ! intent(in): [dp] foliage nitrogen concentration (1.0 = saturated)
+    
+     ! input: aerodynamic resistance parameters
+     z0Snow                          => mpar_data%var(iLookPARAM%z0Snow)%dat(1),                        & ! intent(in): [dp] roughness length of snow (m)
+     z0Soil                          => mpar_data%var(iLookPARAM%z0Soil)%dat(1),                        & ! intent(in): [dp] roughness length of soil (m)
+     z0CanopyParam                   => mpar_data%var(iLookPARAM%z0Canopy)%dat(1),                      & ! intent(in): [dp] roughness length of the canopy (m)
+     zpdFraction                     => mpar_data%var(iLookPARAM%zpdFraction)%dat(1),                   & ! intent(in): [dp] zero plane displacement / canopy height (-)
+     critRichNumber                  => mpar_data%var(iLookPARAM%critRichNumber)%dat(1),                & ! intent(in): [dp] critical value for the bulk Richardson number where turbulence ceases (-)
+     Louis79_bparam                  => mpar_data%var(iLookPARAM%Louis79_bparam)%dat(1),                & ! intent(in): [dp] parameter in Louis (1979) stability function
+     Louis79_cStar                   => mpar_data%var(iLookPARAM%Louis79_cStar)%dat(1),                 & ! intent(in): [dp] parameter in Louis (1979) stability function
+     Mahrt87_eScale                  => mpar_data%var(iLookPARAM%Mahrt87_eScale)%dat(1),                & ! intent(in): [dp] exponential scaling factor in the Mahrt (1987) stability function
+     windReductionParam              => mpar_data%var(iLookPARAM%windReductionParam)%dat(1),            & ! intent(in): [dp] canopy wind reduction parameter (-)
+     leafExchangeCoeff               => mpar_data%var(iLookPARAM%leafExchangeCoeff)%dat(1),             & ! intent(in): [dp] turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+     leafDimension                   => mpar_data%var(iLookPARAM%leafDimension)%dat(1),                 & ! intent(in): [dp] characteristic leaf dimension (m)
+    
+     ! input: soil stress parameters
+     theta_sat                       => mpar_data%var(iLookPARAM%theta_sat)%dat(1),                     & ! intent(in): [dp] soil porosity (-)
+     theta_res                       => mpar_data%var(iLookPARAM%theta_res)%dat(1),                     & ! intent(in): [dp] residual volumetric liquid water content (-)
+     plantWiltPsi                    => mpar_data%var(iLookPARAM%plantWiltPsi)%dat(1),                  & ! intent(in): [dp] matric head at wilting point (m)
+     soilStressParam                 => mpar_data%var(iLookPARAM%soilStressParam)%dat(1),               & ! intent(in): [dp] parameter in the exponential soil stress function (-)
+     critSoilWilting                 => mpar_data%var(iLookPARAM%critSoilWilting)%dat(1),               & ! intent(in): [dp] critical vol. liq. water content when plants are wilting (-)
+     critSoilTranspire               => mpar_data%var(iLookPARAM%critSoilTranspire)%dat(1),             & ! intent(in): [dp] critical vol. liq. water content when transpiration is limited (-)
+     critAquiferTranspire            => mpar_data%var(iLookPARAM%critAquiferTranspire)%dat(1),          & ! intent(in): [dp] critical aquifer storage value when transpiration is limited (m)
+     minStomatalResistance           => mpar_data%var(iLookPARAM%minStomatalResistance)%dat(1),         & ! intent(in): [dp] mimimum stomatal resistance (s m-1)
+    
+     ! snow parameters
+     snowfrz_scale                   => mpar_data%var(iLookPARAM%snowfrz_scale)%dat(1),                 & ! intent(in): [dp] scaling parameter for the snow freezing curve (K-1)
+    
+     ! input: forcing at the upper boundary
+     mHeight                         => diag_data%var(iLookDIAG%scalarAdjMeasHeight)%dat(1),            & ! intent(in): [dp] measurement height (m)
+     airtemp                         => forc_data%var(iLookFORCE%airtemp),                              & ! intent(in): [dp] air temperature at some height above the surface (K)
+     windspd                         => forc_data%var(iLookFORCE%windspd),                              & ! intent(in): [dp] wind speed at some height above the surface (m s-1)
+     airpres                         => forc_data%var(iLookFORCE%airpres),                              & ! intent(in): [dp] air pressure at some height above the surface (Pa)
+     LWRadAtm                        => forc_data%var(iLookFORCE%LWRadAtm),                             & ! intent(in): [dp] downwelling longwave radiation at the upper boundary (W m-2)
+     scalarVPair                     => diag_data%var(iLookDIAG%scalarVPair)%dat(1),                    & ! intent(in): [dp] vapor pressure at some height above the surface (Pa)
+     scalarO2air                     => diag_data%var(iLookDIAG%scalarO2air)%dat(1),                    & ! intent(in): [dp] atmospheric o2 concentration (Pa)
+     scalarCO2air                    => diag_data%var(iLookDIAG%scalarCO2air)%dat(1),                   & ! intent(in): [dp] atmospheric co2 concentration (Pa)
+     scalarTwetbulb                  => diag_data%var(iLookDIAG%scalarTwetbulb)%dat(1),                 & ! intent(in): [dp] wetbulb temperature (K)
+     scalarRainfall                  => flux_data%var(iLookFLUX%scalarRainfall)%dat(1),                 & ! intent(in): [dp] computed rainfall rate (kg m-2 s-1)
+     scalarSnowfall                  => flux_data%var(iLookFLUX%scalarSnowfall)%dat(1),                 & ! intent(in): [dp] computed snowfall rate (kg m-2 s-1)
+     scalarThroughfallRain           => flux_data%var(iLookFLUX%scalarThroughfallRain)%dat(1),          & ! intent(in): [dp] rainfall through the vegetation canopy (kg m-2 s-1)
+     scalarThroughfallSnow           => flux_data%var(iLookFLUX%scalarThroughfallSnow)%dat(1),          & ! intent(in): [dp] snowfall through the vegetation canopy (kg m-2 s-1)
+    
+     ! input: water storage
+     ! NOTE: soil stress only computed at the start of the substep (firstFluxCall=.true.)
+     scalarSWE                       => prog_data%var(iLookPROG%scalarSWE)%dat(1),                      & ! intent(in): [dp]    snow water equivalent on the ground (kg m-2)
+     scalarSnowDepth                 => prog_data%var(iLookPROG%scalarSnowDepth)%dat(1),                & ! intent(in): [dp]    snow depth on the ground surface (m)
+     mLayerVolFracLiq                => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat,                  & ! intent(in): [dp(:)] volumetric fraction of liquid water in each layer (-)
+     mLayerMatricHead                => prog_data%var(iLookPROG%mLayerMatricHead)%dat,                  & ! intent(in): [dp(:)] matric head in each soil layer (m)
+     localAquiferStorage             => prog_data%var(iLookPROG%scalarAquiferStorage)%dat(1),           & ! intent(in): [dp]    aquifer storage for the local column (m)
+     basinAquiferStorage             => bvar_data%var(iLookBVAR%basin__AquiferStorage)%dat(1),          & ! intent(in): [dp]    aquifer storage for the single basin (m)
+    
+     ! input: shortwave radiation fluxes
+     scalarCanopySunlitLAI           => diag_data%var(iLookDIAG%scalarCanopySunlitLAI)%dat(1),          & ! intent(in): [dp] sunlit leaf area (-)
+     scalarCanopyShadedLAI           => diag_data%var(iLookDIAG%scalarCanopyShadedLAI)%dat(1),          & ! intent(in): [dp] shaded leaf area (-)
+     scalarCanopySunlitPAR           => flux_data%var(iLookFLUX%scalarCanopySunlitPAR)%dat(1),          & ! intent(in): [dp] average absorbed par for sunlit leaves (w m-2)
+     scalarCanopyShadedPAR           => flux_data%var(iLookFLUX%scalarCanopyShadedPAR)%dat(1),          & ! intent(in): [dp] average absorbed par for shaded leaves (w m-2)
+     scalarCanopyAbsorbedSolar       => flux_data%var(iLookFLUX%scalarCanopyAbsorbedSolar)%dat(1),      & ! intent(in): [dp] solar radiation absorbed by canopy (W m-2)
+     scalarGroundAbsorbedSolar       => flux_data%var(iLookFLUX%scalarGroundAbsorbedSolar)%dat(1),      & ! intent(in): [dp] solar radiation absorbed by ground (W m-2)
+    
+     ! output: fraction of wetted canopy area and fraction of snow on the ground
+     scalarCanopyWetFraction         => diag_data%var(iLookDIAG%scalarCanopyWetFraction)%dat(1),        & ! intent(out): [dp] fraction of canopy that is wet
+     scalarGroundSnowFraction        => diag_data%var(iLookDIAG%scalarGroundSnowFraction)%dat(1),       & ! intent(out): [dp] fraction of ground covered with snow (-)
+    
+     ! output: longwave radiation fluxes
+     scalarCanopyEmissivity          => diag_data%var(iLookDIAG%scalarCanopyEmissivity)%dat(1),         & ! intent(out): [dp] effective emissivity of the canopy (-)
+     scalarLWRadCanopy               => flux_data%var(iLookFLUX%scalarLWRadCanopy)%dat(1),              & ! intent(out): [dp] longwave radiation emitted from the canopy (W m-2)
+     scalarLWRadGround               => flux_data%var(iLookFLUX%scalarLWRadGround)%dat(1),              & ! intent(out): [dp] longwave radiation emitted at the ground surface (W m-2)
+     scalarLWRadUbound2Canopy        => flux_data%var(iLookFLUX%scalarLWRadUbound2Canopy)%dat(1),       & ! intent(out): [dp] downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+     scalarLWRadUbound2Ground        => flux_data%var(iLookFLUX%scalarLWRadUbound2Ground)%dat(1),       & ! intent(out): [dp] downward atmospheric longwave radiation absorbed by the ground (W m-2)
+     scalarLWRadUbound2Ubound        => flux_data%var(iLookFLUX%scalarLWRadUbound2Ubound)%dat(1),       & ! intent(out): [dp] atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+     scalarLWRadCanopy2Ubound        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Ubound)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+     scalarLWRadCanopy2Ground        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Ground)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from canopy absorbed by the ground (W m-2)
+     scalarLWRadCanopy2Canopy        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Canopy)%dat(1),       & ! intent(out): [dp] canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+     scalarLWRadGround2Ubound        => flux_data%var(iLookFLUX%scalarLWRadGround2Ubound)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from ground lost thru upper boundary (W m-2)
+     scalarLWRadGround2Canopy        => flux_data%var(iLookFLUX%scalarLWRadGround2Canopy)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+     scalarLWNetCanopy               => flux_data%var(iLookFLUX%scalarLWNetCanopy)%dat(1),              & ! intent(out): [dp] net longwave radiation at the canopy (W m-2)
+     scalarLWNetGround               => flux_data%var(iLookFLUX%scalarLWNetGround)%dat(1),              & ! intent(out): [dp] net longwave radiation at the ground surface (W m-2)
+     scalarLWNetUbound               => flux_data%var(iLookFLUX%scalarLWNetUbound)%dat(1),              & ! intent(out): [dp] net longwave radiation at the upper boundary (W m-2)
+    
+     ! output: aerodynamic resistance
+     scalarZ0Canopy                  => diag_data%var(iLookDIAG%scalarZ0Canopy)%dat(1),                 & ! intent(out): [dp] roughness length of the canopy (m)
+     scalarWindReductionFactor       => diag_data%var(iLookDIAG%scalarWindReductionFactor)%dat(1),      & ! intent(out): [dp] canopy wind reduction factor (-)
+     scalarZeroPlaneDisplacement     => diag_data%var(iLookDIAG%scalarZeroPlaneDisplacement)%dat(1),    & ! intent(out): [dp] zero plane displacement (m)
+     scalarRiBulkCanopy              => diag_data%var(iLookDIAG%scalarRiBulkCanopy)%dat(1),             & ! intent(out): [dp] bulk Richardson number for the canopy (-)
+     scalarRiBulkGround              => diag_data%var(iLookDIAG%scalarRiBulkGround)%dat(1),             & ! intent(out): [dp] bulk Richardson number for the ground surface (-)
+     scalarEddyDiffusCanopyTop       => flux_data%var(iLookFLUX%scalarEddyDiffusCanopyTop)%dat(1),      & ! intent(out): [dp] eddy diffusivity for heat at the top of the canopy (m2 s-1)
+     scalarFrictionVelocity          => flux_data%var(iLookFLUX%scalarFrictionVelocity)%dat(1),         & ! intent(out): [dp] friction velocity (m s-1)
+     scalarWindspdCanopyTop          => flux_data%var(iLookFLUX%scalarWindspdCanopyTop)%dat(1),         & ! intent(out): [dp] windspeed at the top of the canopy (m s-1)
+     scalarWindspdCanopyBottom       => flux_data%var(iLookFLUX%scalarWindspdCanopyBottom)%dat(1),      & ! intent(out): [dp] windspeed at the height of the bottom of the canopy (m s-1)
+     scalarLeafResistance            => flux_data%var(iLookFLUX%scalarLeafResistance)%dat(1),           & ! intent(out): [dp] mean leaf boundary layer resistance per unit leaf area (s m-1)
+     scalarGroundResistance          => flux_data%var(iLookFLUX%scalarGroundResistance)%dat(1),         & ! intent(out): [dp] below canopy aerodynamic resistance (s m-1)
+     scalarCanopyResistance          => flux_data%var(iLookFLUX%scalarCanopyResistance)%dat(1),         & ! intent(out): [dp] above canopy aerodynamic resistance (s m-1)
+    
+     ! input/output: soil resistance -- intent(in) and intent(inout) because only called at the first flux call
+     mLayerRootDensity               => diag_data%var(iLookDIAG%mLayerRootDensity)%dat,                 & ! intent(in):    [dp] root density in each layer (-)
+     scalarAquiferRootFrac           => diag_data%var(iLookDIAG%scalarAquiferRootFrac)%dat(1),          & ! intent(in):    [dp] fraction of roots below the lowest soil layer (-)
+     scalarTranspireLim              => diag_data%var(iLookDIAG%scalarTranspireLim)%dat(1),             & ! intent(inout): [dp] weighted average of the transpiration limiting factor (-)
+     mLayerTranspireLim              => diag_data%var(iLookDIAG%mLayerTranspireLim)%dat,                & ! intent(inout): [dp] transpiration limiting factor in each layer (-)
+     scalarTranspireLimAqfr          => diag_data%var(iLookDIAG%scalarTranspireLimAqfr)%dat(1),         & ! intent(inout): [dp] transpiration limiting factor for the aquifer (-)
+     scalarSoilRelHumidity           => diag_data%var(iLookDIAG%scalarSoilRelHumidity)%dat(1),          & ! intent(inout): [dp] relative humidity in the soil pores [0-1]
+     scalarSoilResistance            => flux_data%var(iLookFLUX%scalarSoilResistance)%dat(1),           & ! intent(inout): [dp] resistance from the soil (s m-1)
+    
+     ! input/output: stomatal resistance -- intent(inout) because only called at the first flux call
+     scalarStomResistSunlit          => flux_data%var(iLookFLUX%scalarStomResistSunlit)%dat(1),         & ! intent(inout): [dp] stomatal resistance for sunlit leaves (s m-1)
+     scalarStomResistShaded          => flux_data%var(iLookFLUX%scalarStomResistShaded)%dat(1),         & ! intent(inout): [dp] stomatal resistance for shaded leaves (s m-1)
+     scalarPhotosynthesisSunlit      => flux_data%var(iLookFLUX%scalarPhotosynthesisSunlit)%dat(1),     & ! intent(inout): [dp] sunlit photosynthesis (umolco2 m-2 s-1)
+     scalarPhotosynthesisShaded      => flux_data%var(iLookFLUX%scalarPhotosynthesisShaded)%dat(1),     & ! intent(inout): [dp] shaded photosynthesis (umolco2 m-2 s-1)
+    
+     ! output: turbulent heat fluxes
+     scalarLatHeatSubVapCanopy       => diag_data%var(iLookDIAG%scalarLatHeatSubVapCanopy)%dat(1),      & ! intent(inout): [dp] latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+     scalarLatHeatSubVapGround       => diag_data%var(iLookDIAG%scalarLatHeatSubVapGround)%dat(1),      & ! intent(inout): [dp] latent heat of sublimation/vaporization for the ground surface (J kg-1)
+     scalarSatVP_canopyTemp          => diag_data%var(iLookDIAG%scalarSatVP_CanopyTemp)%dat(1),         & ! intent(out):   [dp] saturation vapor pressure at the temperature of the vegetation canopy (Pa)
+     scalarSatVP_groundTemp          => diag_data%var(iLookDIAG%scalarSatVP_GroundTemp)%dat(1),         & ! intent(out):   [dp] saturation vapor pressure at the temperature of the ground surface (Pa)
+     scalarSenHeatTotal              => flux_data%var(iLookFLUX%scalarSenHeatTotal)%dat(1),             & ! intent(out):   [dp] sensible heat from the canopy air space to the atmosphere (W m-2)
+     scalarSenHeatCanopy             => flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1),            & ! intent(out):   [dp] sensible heat flux from the canopy to the canopy air space (W m-2)
+     scalarSenHeatGround             => flux_data%var(iLookFLUX%scalarSenHeatGround)%dat(1),            & ! intent(out):   [dp] sensible heat flux from ground surface below vegetation (W m-2)
+     scalarLatHeatTotal              => flux_data%var(iLookFLUX%scalarLatHeatTotal)%dat(1),             & ! intent(out):   [dp] latent heat from the canopy air space to the atmosphere (W m-2)
+     scalarLatHeatCanopyEvap         => flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1),        & ! intent(out):   [dp] latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+     scalarLatHeatCanopyTrans        => flux_data%var(iLookFLUX%scalarLatHeatCanopyTrans)%dat(1),       & ! intent(out):   [dp] latent heat flux for transpiration from the canopy to the canopy air space (W m-2)
+     scalarLatHeatGround             => flux_data%var(iLookFLUX%scalarLatHeatGround)%dat(1),            & ! intent(out):   [dp] latent heat flux from ground surface below vegetation (W m-2)
+    
+     ! output: advective heat fluxes
+     scalarCanopyAdvectiveHeatFlux   => flux_data%var(iLookFLUX%scalarCanopyAdvectiveHeatFlux)%dat(1),  & ! intent(out): [dp] heat advected to the canopy surface with rain + snow (W m-2)
+     scalarGroundAdvectiveHeatFlux   => flux_data%var(iLookFLUX%scalarGroundAdvectiveHeatFlux)%dat(1),  & ! intent(out): [dp] heat advected to the ground surface with throughfall (W m-2)
+    
+     ! output: mass fluxes
+     scalarCanopySublimation         => flux_data%var(iLookFLUX%scalarCanopySublimation)%dat(1),        & ! intent(out): [dp] canopy sublimation/frost (kg m-2 s-1)
+     scalarSnowSublimation           => flux_data%var(iLookFLUX%scalarSnowSublimation)%dat(1),          & ! intent(out): [dp] snow sublimation/frost -- below canopy or non-vegetated (kg m-2 s-1)
+    
+     ! input/output: canopy air space variables
+     scalarVP_CanopyAir              => diag_data%var(iLookDIAG%scalarVP_CanopyAir)%dat(1),             & ! intent(inout): [dp] vapor pressure of the canopy air space (Pa)
+     scalarCanopyStabilityCorrection => diag_data%var(iLookDIAG%scalarCanopyStabilityCorrection)%dat(1),& ! intent(inout): [dp] stability correction for the canopy (-)
+     scalarGroundStabilityCorrection => diag_data%var(iLookDIAG%scalarGroundStabilityCorrection)%dat(1),& ! intent(inout): [dp] stability correction for the ground surface (-)
+    
+     ! output: liquid water fluxes
+     scalarCanopyTranspiration       => flux_data%var(iLookFLUX%scalarCanopyTranspiration)%dat(1),      & ! intent(out): [dp] canopy transpiration (kg m-2 s-1)
+     scalarCanopyEvaporation         => flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1),        & ! intent(out): [dp] canopy evaporation/condensation (kg m-2 s-1)
+     scalarGroundEvaporation         => flux_data%var(iLookFLUX%scalarGroundEvaporation)%dat(1),        & ! intent(out): [dp] ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+    
+     ! output: derived fluxes
+     scalarTotalET                   => flux_data%var(iLookFLUX%scalarTotalET)%dat(1),                  & ! intent(out): [dp] total ET (kg m-2 s-1)
+     scalarNetRadiation              => flux_data%var(iLookFLUX%scalarNetRadiation)%dat(1)              & ! intent(out): [dp] net radiation (W m-2)
+     )
+     ! ---------------------------------------------------------------------------------------
+     ! initialize error control
+     err=0; message="vegNrgFlux/"
+    
+     ! initialize printflag
+     printflag = .false.
+    
+     ! identify the type of boundary condition for thermodynamics
+     select case(ix_bcUpprTdyn)
+    
+      ! *****
+      ! (1) DIRICHLET OR ZERO FLUX BOUNDARY CONDITION...
+      ! ************************************************
+    
+      ! NOTE: Vegetation fluxes are not computed in this case
+    
+      ! ** prescribed temperature or zero flux at the upper boundary of the snow-soil system
+      case(prescribedTemp,zeroFlux)
+    
+       ! derived fluxes
+       scalarTotalET             = 0._rkind    ! total ET (kg m-2 s-1)
+       scalarNetRadiation        = 0._rkind    ! net radiation (W m-2)
+       ! liquid water fluxes associated with evaporation/transpiration
+       scalarCanopyTranspiration = 0._rkind    ! canopy transpiration (kg m-2 s-1)
+       scalarCanopyEvaporation   = 0._rkind    ! canopy evaporation/condensation (kg m-2 s-1)
+       scalarGroundEvaporation   = 0._rkind    ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+       ! solid water fluxes associated with sublimation/frost
+       scalarCanopySublimation   = 0._rkind    ! sublimation from the vegetation canopy ((kg m-2 s-1)
+       scalarSnowSublimation     = 0._rkind    ! sublimation from the snow surface ((kg m-2 s-1)
+       ! set canopy fluxes to zero (no canopy)
+       canairNetFlux             = 0._rkind    ! net energy flux for the canopy air space (W m-2)
+       canopyNetFlux             = 0._rkind    ! net energy flux for the vegetation canopy (W m-2)
+       ! set canopy derivatives to zero
+       dCanairNetFlux_dCanairTemp = 0._rkind   ! derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+       dCanairNetFlux_dCanopyTemp = 0._rkind   ! derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+       dCanairNetFlux_dGroundTemp = 0._rkind   ! derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+       dCanopyNetFlux_dCanairTemp = 0._rkind   ! derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+       dCanopyNetFlux_dCanopyTemp = 0._rkind   ! derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+       dCanopyNetFlux_dGroundTemp = 0._rkind   ! derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+       dGroundNetFlux_dCanairTemp = 0._rkind   ! derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+       dGroundNetFlux_dCanopyTemp = 0._rkind   ! derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+       ! set liquid flux derivatives to zero (canopy evap)
+       dCanopyEvaporation_dCanWat = 0._rkind    ! derivative in canopy evaporation w.r.t. canopy total water content (s-1)
+       dCanopyEvaporation_dTCanair= 0._rkind    ! derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+       dCanopyEvaporation_dTCanopy= 0._rkind    ! derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+       dCanopyEvaporation_dTGround= 0._rkind    ! derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+       ! set liquid flux derivatives to zero (ground evap)
+       dGroundEvaporation_dCanWat = 0._rkind    ! derivative in ground evaporation w.r.t. canopy total water content (s-1)
+       dGroundEvaporation_dTCanair= 0._rkind    ! derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+       dGroundEvaporation_dTCanopy= 0._rkind    ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+       dGroundEvaporation_dTGround= 0._rkind    ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+       ! set transpiration derivatives to zero
+       dCanopyTrans_dCanWat = 0._rkind    ! derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+       dCanopyTrans_dTCanair= 0._rkind    ! derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+       dCanopyTrans_dTCanopy= 0._rkind    ! derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+       dCanopyTrans_dTGround= 0._rkind    ! derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+    
+       ! compute fluxes and derivatives -- separate approach for prescribed temperature and zero flux,
+       if(ix_bcUpprTdyn == prescribedTemp)then
+        ! compute ground net flux (W m-2)
+        groundNetFlux = -diag_data%var(iLookDIAG%iLayerThermalC)%dat(0)*(groundTempTrial - upperBoundTemp)/(prog_data%var(iLookPROG%mLayerDepth)%dat(1)*0.5_rkind)
+        ! compute derivative in net ground flux w.r.t. ground temperature (W m-2 K-1) inside soil and snow (ssd) energy flux routine
+        ! dGroundNetFlux_dGroundTemp = missingValue
+       elseif(ix_bcUpprTdyn == zeroFlux)then
+        groundNetFlux              = 0._rkind
+        ! dGroundNetFlux_dGroundTemp = missingValue
+       else
+        err=20; message=trim(message)//'unable to identify upper boundary condition for thermodynamics: expect the case to be prescribedTemp or zeroFlux'; return
+       end if
+    
+      ! *****
+      ! (2) NEUMANN BOUNDARY CONDITION...
+      ! *********************************
+    
+      ! NOTE 1: This is the main routine for calculating vegetation fluxes
+      ! NOTE 2: This routine also calculates surface fluxes for the case where vegetation is buried with snow (or bare soil)
+    
+      ! *******************************************************************************************************************************************************************
+      ! *******************************************************************************************************************************************************************
+      ! ***** PRELIMINARIES  **********************************************************************************************************************************************
+      ! *******************************************************************************************************************************************************************
+      ! *******************************************************************************************************************************************************************
+    
+      ! * flux boundary condition
+      case(energyFlux)
+    
+       ! identify the appropriate groundwater variable
+       select case(ix_spatial_gw)
+        case(singleBasin); scalarAquiferStorage = basinAquiferStorage
+        case(localColumn); scalarAquiferStorage = localAquiferStorage
+        case default; err=20; message=trim(message)//'unable to identify spatial representation of groundwater'; return
+       end select ! (modify the groundwater representation for this single-column implementation)
+    
+       ! set canopy stability corrections to the previous values
+       scalarCanopyStabilityCorrection_old = scalarCanopyStabilityCorrection       ! stability correction for the canopy (-)
+       scalarGroundStabilityCorrection_old = scalarGroundStabilityCorrection       ! stability correction for the ground surface (-)
+    
+       ! initialize variables to compute stomatal resistance
+       if(firstFluxCall .and. firstSubStep)then
+        ! vapor pressure in the canopy air space initialized as vapor pressure of air above the vegetation canopy
+        ! NOTE: this is needed for the stomatal resistance calculations
+        if(scalarVP_CanopyAir < 0._rkind)then
+         scalarVP_CanopyAir    = scalarVPair - 1._rkind    ! "small" offset used to assist in checking initial derivative calculations
+        end if
+       end if
+    
+       ! set latent heat of sublimation/vaporization for canopy and ground surface (Pa/K)
+       ! NOTE: variables are constant over the substep, to simplify relating energy and mass fluxes
+       if(firstFluxCall)then
+        scalarLatHeatSubVapCanopy = getLatentHeatValue(canopyTempTrial)
+        ! case when there is snow on the ground (EXCLUDE "snow without a layer" -- in this case, evaporate from the soil)
+        if(nSnow > 0)then
+         if(groundTempTrial > Tfreeze)then; err=20; message=trim(message)//'do not expect ground temperature > 0 when snow is on the ground'; return; end if
+         scalarLatHeatSubVapGround = LH_sub  ! sublimation from snow
+         scalarGroundSnowFraction  = 1._rkind
+        ! case when the ground is snow-free
+        else
+         scalarLatHeatSubVapGround = LH_vap  ! evaporation of water in the soil pores: this occurs even if frozen because of super-cooled water
+         scalarGroundSnowFraction  = 0._rkind
+        end if  ! (if there is snow on the ground)
+       end if  ! (if the first flux call)
+       !write(*,'(a,1x,10(f30.10,1x))') 'groundTempTrial, scalarLatHeatSubVapGround = ', groundTempTrial, scalarLatHeatSubVapGround
+    
+       ! compute the roughness length of the ground (ground below the canopy or non-vegetated surface)
+       z0Ground = z0soil*(1._rkind - scalarGroundSnowFraction) + z0Snow*scalarGroundSnowFraction     ! roughness length (m)
+    
+       ! compute the total vegetation area index (leaf plus stem)
+       VAI        = scalarLAI + scalarSAI  ! vegetation area index
+       exposedVAI = scalarExposedLAI + scalarExposedSAI  !  exposed vegetation area index
+    
+       ! compute emissivity of the canopy (-)
+       if(computeVegFlux)then
+        select case(ix_canopyEmis)
+         ! *** simple exponential function
+         case(simplExp)
+          scalarCanopyEmissivity = 1._rkind - exp(-exposedVAI)                                     ! effective emissivity of the canopy (-)
+         ! *** canopy emissivity parameterized as a function of diffuse transmissivity
+         case(difTrans)
+          ! compute the exponential integral
+          scaleLAI = 0.5_rkind*exposedVAI
+          expi     = expInt(scaleLAI)
+          ! compute diffuse transmissivity (-)
+          diffuseTrans = (1._rkind - scaleLAI)*exp(-scaleLAI) + (scaleLAI**2._rkind)*expi
+          ! compute the canopy emissivity
+          scalarCanopyEmissivity = (1._rkind - diffuseTrans)*vegEmissivity
+         ! *** check we found the correct option
+         case default
+          err=20; message=trim(message)//'unable to identify option for canopy emissivity'; return
+        end select
+       end if
+    
+       ! ensure canopy longwave fluxes are zero when not computing canopy fluxes
+       if(.not.computeVegFlux) scalarCanopyEmissivity=0._rkind
+    
+       ! compute emissivity of the ground surface (-)
+       groundEmissivity = scalarGroundSnowFraction*snowEmissivity + (1._rkind - scalarGroundSnowFraction)*soilEmissivity  ! emissivity of the ground surface (-)
+    
+       ! compute the fraction of canopy that is wet
+       ! NOTE: we either sublimate or evaporate over the entire substep
+       if(computeVegFlux)then
+    
+        ! compute the fraction of liquid water in the canopy (-)
+        totalCanopyWater = canopyLiqTrial + canopyIceTrial
+        if(totalCanopyWater > tiny(1.0_rkind))then
+         fracLiquidCanopy = canopyLiqTrial / (canopyLiqTrial + canopyIceTrial)
+        else
+         fracLiquidCanopy = 0._rkind
+        end if
+    
+        ! get wetted fraction and derivatives
+        call wettedFrac(&
+                        ! input
+                        .true.,                                         & ! flag to denote if derivative is desired
+                        (ixDerivMethod == numerical),                   & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+                        (scalarLatHeatSubVapCanopy > LH_vap+verySmall), & ! flag to denote if the canopy is frozen
+                        dCanLiq_dTcanopy,                               & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+                        fracLiquidCanopy,                               & ! fraction of liquid water on the canopy (-)
+                        canopyLiqTrial,                                 & ! canopy liquid water (kg m-2)
+                        canopyIceTrial,                                 & ! canopy ice (kg m-2)
+                        scalarCanopyLiqMax,                             & ! maximum canopy liquid water (kg m-2)
+                        scalarCanopyIceMax,                             & ! maximum canopy ice content (kg m-2)
+                        canopyWettingFactor,                            & ! maximum wetted fraction of the canopy (-)
+                        canopyWettingExp,                               & ! exponent in canopy wetting function (-)
+                        ! output
+                        scalarCanopyWetFraction,                        & ! canopy wetted fraction (-)
+                        dCanopyWetFraction_dWat,                        & ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+                        dCanopyWetFraction_dT,                          & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                        err,cmessage)
+        if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+       else
+        scalarCanopyWetFraction = 0._rkind  ! canopy wetted fraction (-)
+        dCanopyWetFraction_dWat = 0._rkind  ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+        dCanopyWetFraction_dT   = 0._rkind  ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+       end if
+       !write(*,'(a,1x,L1,1x,f25.15,1x))') 'computeVegFlux, scalarCanopyWetFraction = ', computeVegFlux, scalarCanopyWetFraction
+       !print*, 'dCanopyWetFraction_dWat = ', dCanopyWetFraction_dWat
+       !print*, 'dCanopyWetFraction_dT   = ', dCanopyWetFraction_dT
+       !print*, 'canopyLiqTrial = ', canopyLiqTrial
+       !print*, 'canopyIceTrial = ', canopyIceTrial
+       !print*, 'scalarCanopyLiqMax = ', scalarCanopyLiqMax
+       !print*, 'scalarCanopyIceMax = ', scalarCanopyIceMax
+    
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! ***** AERODYNAMIC RESISTANCE *****************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+    
+       ! NOTE: compute for all iterations
+    
+       ! compute aerodynamic resistances
+       ! Refs: Choudhury and Monteith (4-layer model for heat budget of homogenous surfaces; QJRMS, 1988)
+       !       Niu and Yang (Canopy effects on snow processes; JGR, 2004)
+       !       Mahat et al. (Below-canopy turbulence in a snowmelt model, WRR, 2012)
+       call aeroResist(&
                        ! input: model control
-                       firstSubStep,                            & ! intent(in): flag to indicate if we are processing the first sub-step
-                       firstFluxCall,                           & ! intent(in): flag to indicate if we are processing the first flux call
-                       computeVegFlux,                          & ! intent(in): flag to indicate if we need to compute fluxes over vegetation
-
-                       ! input: model state variables
-                       upperBoundTemp,                          & ! intent(in): temperature of the upper boundary (K) --> NOTE: use air temperature
-                       canairTempTrial,                         & ! intent(in): trial value of the canopy air space temperature (K)
-                       canopyTempTrial,                         & ! intent(in): trial value of canopy temperature (K)
-                       groundTempTrial,                         & ! intent(in): trial value of ground temperature (K)
-                       canopyIceTrial,                          & ! intent(in): trial value of mass of ice on the vegetation canopy (kg m-2)
-                       canopyLiqTrial,                          & ! intent(in): trial value of mass of liquid water on the vegetation canopy (kg m-2)
-
-                       ! input: model derivatives
-                       dCanLiq_dTcanopy,                        & ! intent(in): derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
-
-                       ! input/output: data structures
-                       type_data,                               & ! intent(in):    type of vegetation and soil
-                       forc_data,                               & ! intent(in):    model forcing data
-                       mpar_data,                               & ! intent(in):    model parameters
-                       indx_data,                               & ! intent(in):    state vector geometry
-                       prog_data,                               & ! intent(in):    model prognostic variables for a local HRU
-                       diag_data,                               & ! intent(inout): model diagnostic variables for a local HRU
-                       flux_data,                               & ! intent(inout): model fluxes for a local HRU
-                       bvar_data,                               & ! intent(in):    model variables for the local basin
-                       model_decisions,                         & ! intent(in):    model decisions
-
-                       ! output: liquid water fluxes associated with evaporation/transpiration (needed for coupling)
-                       returnCanopyTranspiration,               & ! intent(out): canopy transpiration (kg m-2 s-1)
-                       returnCanopyEvaporation,                 & ! intent(out): canopy evaporation/condensation (kg m-2 s-1)
-                       returnGroundEvaporation,                 & ! intent(out): ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
-
-                       ! output: fluxes
-                       canairNetFlux,                           & ! intent(out): net energy flux for the canopy air space (W m-2)
-                       canopyNetFlux,                           & ! intent(out): net energy flux for the vegetation canopy (W m-2)
-                       groundNetFlux,                           & ! intent(out): net energy flux for the ground surface (W m-2)
-
-                       ! output: energy flux derivatives
-                       dCanairNetFlux_dCanairTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
-                       dCanairNetFlux_dCanopyTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
-                       dCanairNetFlux_dGroundTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
-                       dCanopyNetFlux_dCanairTemp,              & ! intent(out): derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
-                       dCanopyNetFlux_dCanopyTemp,              & ! intent(out): derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
-                       dCanopyNetFlux_dGroundTemp,              & ! intent(out): derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
-                       dGroundNetFlux_dCanairTemp,              & ! intent(out): derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
-                       dGroundNetFlux_dCanopyTemp,              & ! intent(out): derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
-                       dGroundNetFlux_dGroundTemp,              & ! intent(out): derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
-
-                       ! output liquid water flux derivarives (canopy evap)
-                       dCanopyEvaporation_dCanLiq,              & ! intent(out): derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
-                       dCanopyEvaporation_dTCanair,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
-                       dCanopyEvaporation_dTCanopy,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
-                       dCanopyEvaporation_dTGround,             & ! intent(out): derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-
-                       ! output: liquid water flux derivarives (ground evap)
-                       dGroundEvaporation_dCanLiq,              & ! intent(out): derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
-                       dGroundEvaporation_dTCanair,             & ! intent(out): derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
-                       dGroundEvaporation_dTCanopy,             & ! intent(out): derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
-                       dGroundEvaporation_dTGround,             & ! intent(out): derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-
-                       ! output: cross derivative terms
-                       dCanopyNetFlux_dCanLiq,                  & ! intent(out): derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                       dGroundNetFlux_dCanLiq,                  & ! intent(out): derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-
+                       computeVegFlux,                     & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                       (ixDerivMethod == analytical),      & ! intent(in): logical flag if would like to compute analytical derivaties
+                       ix_veg_traits,                      & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
+                       ix_windPrfile,                      & ! intent(in): choice of canopy wind profile
+                       ix_astability,                      & ! intent(in): choice of stability function
+                       ! input: above-canopy forcing data
+                       mHeight,                            & ! intent(in): measurement height (m)
+                       airtemp,                            & ! intent(in): air temperature at some height above the surface (K)
+                       windspd,                            & ! intent(in): wind speed at some height above the surface (m s-1)
+                       ! input: canopy and ground temperature
+                       canairTempTrial,                    & ! intent(in): temperature of the canopy air space (K)
+                       groundTempTrial,                    & ! intent(in): temperature of the ground surface (K)
+                       ! input: diagnostic variables
+                       exposedVAI,                         & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                       scalarSnowDepth,                    & ! intent(in): snow depth (m)
+                       ! input: parameters
+                       z0Ground,                           & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+                       z0CanopyParam,                      & ! intent(in): roughness length of the canopy (m)
+                       zpdFraction,                        & ! intent(in): zero plane displacement / canopy height (-)
+                       critRichNumber,                     & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
+                       Louis79_bparam,                     & ! intent(in): parameter in Louis (1979) stability function
+                       Mahrt87_eScale,                     & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
+                       windReductionParam,                 & ! intent(in): canopy wind reduction parameter (-)
+                       leafExchangeCoeff,                  & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+                       leafDimension,                      & ! intent(in): characteristic leaf dimension (m)
+                       heightCanopyTop,                    & ! intent(in): height at the top of the vegetation canopy (m)
+                       heightCanopyBottom,                 & ! intent(in): height at the bottom of the vegetation canopy (m)
+                       ! output: stability corrections
+                       scalarRiBulkCanopy,                 & ! intent(out): bulk Richardson number for the canopy (-)
+                       scalarRiBulkGround,                 & ! intent(out): bulk Richardson number for the ground surface (-)
+                       scalarCanopyStabilityCorrection,    & ! intent(out): stability correction for the canopy (-)
+                       scalarGroundStabilityCorrection,    & ! intent(out): stability correction for the ground surface (-)
+                       ! output: scalar resistances
+                       scalarZ0Canopy,                     & ! intent(out): roughness length of the canopy (m)
+                       scalarWindReductionFactor,          & ! intent(out): canopy wind reduction factor (-)
+                       scalarZeroPlaneDisplacement,        & ! intent(out): zero plane displacement (m)
+                       scalarEddyDiffusCanopyTop,          & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
+                       scalarFrictionVelocity,             & ! intent(out): friction velocity (m s-1)
+                       scalarWindspdCanopyTop,             & ! intent(out): windspeed at the top of the canopy (m s-1)
+                       scalarWindspdCanopyBottom,          & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
+                       scalarLeafResistance,               & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                       scalarGroundResistance,             & ! intent(out): below canopy aerodynamic resistance (s m-1)
+                       scalarCanopyResistance,             & ! intent(out): above canopy aerodynamic resistance (s m-1)
+                       ! output: derivatives in scalar resistances
+                       dGroundResistance_dTGround,         & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                       dGroundResistance_dTCanopy,         & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                       dGroundResistance_dTCanair,         & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                       dCanopyResistance_dTCanopy,         & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                       dCanopyResistance_dTCanair,         & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
                        ! output: error control
-                       err,message)                               ! intent(out): error control
-
- ! utilities
- USE expIntegral_module,only:expInt                               ! function to calculate the exponential integral
- ! conversion functions
- USE conv_funcs_module,only:satVapPress                           ! function to compute the saturated vapor pressure (Pa)
- USE conv_funcs_module,only:getLatentHeatValue                    ! function to identify latent heat of vaporization/sublimation (J kg-1)
- ! stomatal resistance
- USE stomResist_module,only:stomResist                            ! subroutine to calculate stomatal resistance
- ! compute energy and mass fluxes for vegetation
- implicit none
-
- ! ---------------------------------------------------------------------------------------
- ! * dummy variables
- ! ---------------------------------------------------------------------------------------
- ! input: model control
- logical(lgt),intent(in)         :: firstSubStep                    ! flag to indicate if we are processing the first sub-step
- logical(lgt),intent(in)         :: firstFluxCall                   ! flag to indicate if we are processing the first flux call
- logical(lgt),intent(in)         :: computeVegFlux                  ! flag to indicate if computing fluxes over vegetation
-
- ! input: model state variables
- real(dp),intent(in)             :: upperBoundTemp                  ! temperature of the upper boundary (K) --> NOTE: use air temperature
- real(dp),intent(in)             :: canairTempTrial                 ! trial value of canopy air space temperature (K)
- real(dp),intent(in)             :: canopyTempTrial                 ! trial value of canopy temperature (K)
- real(dp),intent(in)             :: groundTempTrial                 ! trial value of ground temperature (K)
- real(dp),intent(in)             :: canopyIceTrial                  ! trial value of mass of ice on the vegetation canopy (kg m-2)
- real(dp),intent(in)             :: canopyLiqTrial                  ! trial value of mass of liquid water on the vegetation canopy (kg m-2)
-
- ! input: model derivatives
- real(dp),intent(in)             :: dCanLiq_dTcanopy                ! intent(in): derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
-
- ! input/output: data structures
- type(var_i),intent(in)          :: type_data                       ! type of vegetation and soil
- type(var_d),intent(in)          :: forc_data                       ! model forcing data
- type(var_dlength),intent(in)    :: mpar_data                       ! model parameters
- type(var_ilength),intent(in)    :: indx_data                       ! state vector geometry
- type(var_dlength),intent(in)    :: prog_data                       ! prognostic variables for a local HRU
- type(var_dlength),intent(inout) :: diag_data                       ! diagnostic variables for a local HRU
- type(var_dlength),intent(inout) :: flux_data                       ! model fluxes for a local HRU
- type(var_dlength),intent(in)    :: bvar_data                       ! model variables for the local basin
- type(model_options),intent(in)  :: model_decisions(:)              ! model decisions
-
- ! output: liquid water fluxes associated with evaporation/transpiration (needed for coupling)
- real(dp),intent(out)            :: returnCanopyTranspiration       ! canopy transpiration (kg m-2 s-1)
- real(dp),intent(out)            :: returnCanopyEvaporation         ! canopy evaporation/condensation (kg m-2 s-1)
- real(dp),intent(out)            :: returnGroundEvaporation         ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
-
- ! output: fluxes
- real(dp),intent(out)            :: canairNetFlux                   ! net energy flux for the canopy air space (W m-2)
- real(dp),intent(out)            :: canopyNetFlux                   ! net energy flux for the vegetation canopy (W m-2)
- real(dp),intent(out)            :: groundNetFlux                   ! net energy flux for the ground surface (W m-2)
-
- ! output: energy flux derivatives
- real(dp),intent(out)            :: dCanairNetFlux_dCanairTemp      ! derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)            :: dCanairNetFlux_dCanopyTemp      ! derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)            :: dCanairNetFlux_dGroundTemp      ! derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
- real(dp),intent(out)            :: dCanopyNetFlux_dCanairTemp      ! derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)            :: dCanopyNetFlux_dCanopyTemp      ! derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)            :: dCanopyNetFlux_dGroundTemp      ! derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
- real(dp),intent(out)            :: dGroundNetFlux_dCanairTemp      ! derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)            :: dGroundNetFlux_dCanopyTemp      ! derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)            :: dGroundNetFlux_dGroundTemp      ! derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
-
- ! output: liquid flux derivatives (canopy evap)
- real(dp),intent(out)            :: dCanopyEvaporation_dCanLiq      ! derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
- real(dp),intent(out)            :: dCanopyEvaporation_dTCanair     ! derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
- real(dp),intent(out)            :: dCanopyEvaporation_dTCanopy     ! derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
- real(dp),intent(out)            :: dCanopyEvaporation_dTGround     ! derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-
- ! output: liquid flux derivatives (ground evap)
- real(dp),intent(out)            :: dGroundEvaporation_dCanLiq      ! derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
- real(dp),intent(out)            :: dGroundEvaporation_dTCanair     ! derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
- real(dp),intent(out)            :: dGroundEvaporation_dTCanopy     ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
- real(dp),intent(out)            :: dGroundEvaporation_dTGround     ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-
- ! output: cross derivative terms
- real(dp),intent(out)            :: dCanopyNetFlux_dCanLiq          ! derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
- real(dp),intent(out)            :: dGroundNetFlux_dCanLiq          ! derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-
- ! output: error control
- integer(i4b),intent(out)        :: err                             ! error code
- character(*),intent(out)        :: message                         ! error message
-
- ! ---------------------------------------------------------------------------------------
- ! * local variables
- ! ---------------------------------------------------------------------------------------
- ! local (general)
- character(LEN=256)             :: cmessage                         ! error message of downwind routine
- real(dp)                       :: VAI                              ! vegetation area index (m2 m-2)
- real(dp)                       :: exposedVAI                       ! exposed vegetation area index (m2 m-2)
- real(dp)                       :: totalCanopyWater                 ! total water on the vegetation canopy (kg m-2)
- real(dp)                       :: scalarAquiferStorage             ! aquifer storage (m)
-
- ! local (compute numerical derivatives)
- integer(i4b),parameter         :: unperturbed=1                    ! named variable to identify the case of unperturbed state variables
- integer(i4b),parameter         :: perturbStateGround=2             ! named variable to identify the case where we perturb the ground temperature
- integer(i4b),parameter         :: perturbStateCanopy=3             ! named variable to identify the case where we perturb the canopy temperature
- integer(i4b),parameter         :: perturbStateCanair=4             ! named variable to identify the case where we perturb the canopy air temperature
- integer(i4b),parameter         :: perturbStateCanLiq=5             ! named variable to identify the case where we perturb the canopy liquid water content
- integer(i4b)                   :: itry                             ! index of flux evaluation
- integer(i4b)                   :: nFlux                            ! number of flux evaluations
- real(dp)                       :: groundTemp                       ! value of ground temperature used in flux calculations (may be perturbed)
- real(dp)                       :: canopyTemp                       ! value of canopy temperature used in flux calculations (may be perturbed)
- real(dp)                       :: canairTemp                       ! value of canopy air temperature used in flux calculations (may be perturbed)
- real(dp)                       :: try0,try1                        ! trial values to evaluate specific derivatives (testing only)
-
- ! local (saturation vapor pressure of veg)
- real(dp)                       :: TV_celcius                       ! vegetaion temperature (C)
- real(dp)                       :: TG_celcius                       ! ground temperature (C)
- real(dp)                       :: dSVPCanopy_dCanopyTemp           ! derivative in canopy saturated vapor pressure w.r.t. vegetation temperature (Pa/K)
- real(dp)                       :: dSVPGround_dGroundTemp           ! derivative in ground saturated vapor pressure w.r.t. ground temperature (Pa/K)
-
- ! local (wetted canopy area)
- real(dp)                       :: fracLiquidCanopy                 ! fraction of liquid water in the canopy (-)
- real(dp)                       :: canopyWetFraction                ! trial value of the canopy wetted fraction (-)
- real(dp)                       :: dCanopyWetFraction_dWat          ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
- real(dp)                       :: dCanopyWetFraction_dT            ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
-
- ! local (longwave radiation)
- real(dp)                       :: expi                             ! exponential integral
- real(dp)                       :: scaleLAI                         ! scaled LAI (computing diffuse transmissivity)
- real(dp)                       :: diffuseTrans                     ! diffuse transmissivity (-)
- real(dp)                       :: groundEmissivity                 ! emissivity of the ground surface (-)
- real(dp),parameter             :: vegEmissivity=0.98_dp            ! emissivity of vegetation (0.9665 in JULES) (-)
- real(dp),parameter             :: soilEmissivity=0.98_dp           ! emmisivity of the soil (0.9665 in JULES) (-)
- real(dp),parameter             :: snowEmissivity=0.99_dp           ! emissivity of snow (-)
- real(dp)                       :: dLWNetCanopy_dTCanopy            ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
- real(dp)                       :: dLWNetGround_dTGround            ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
- real(dp)                       :: dLWNetCanopy_dTGround            ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
- real(dp)                       :: dLWNetGround_dTCanopy            ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
-
- ! local (aerodynamic resistance)
- real(dp)                       :: scalarCanopyStabilityCorrection_old    ! stability correction for the canopy (-)
- real(dp)                       :: scalarGroundStabilityCorrection_old    ! stability correction for the ground surface (-)
-
- ! local (turbulent heat transfer)
- real(dp)                       :: z0Ground                         ! roughness length of the ground (ground below the canopy or non-vegetated surface) (m)
- real(dp)                       :: soilEvapFactor                   ! soil water control on evaporation from non-vegetated surfaces
- real(dp)                       :: soilRelHumidity_noSnow           ! relative humidity in the soil pores [0-1]
- real(dp)                       :: scalarLeafConductance            ! leaf conductance (m s-1)
- real(dp)                       :: scalarCanopyConductance          ! canopy conductance (m s-1)
- real(dp)                       :: scalarGroundConductanceSH        ! ground conductance for sensible heat (m s-1)
- real(dp)                       :: scalarGroundConductanceLH        ! ground conductance for latent heat -- includes soil resistance (m s-1)
- real(dp)                       :: scalarEvapConductance            ! conductance for evaporation (m s-1)
- real(dp)                       :: scalarTransConductance           ! conductance for transpiration (m s-1)
- real(dp)                       :: scalarTotalConductanceSH         ! total conductance for sensible heat (m s-1)
- real(dp)                       :: scalarTotalConductanceLH         ! total conductance for latent heat (m s-1)
- real(dp)                       :: dGroundResistance_dTGround       ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
- real(dp)                       :: dGroundResistance_dTCanopy       ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp)                       :: dGroundResistance_dTCanair       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
- real(dp)                       :: dCanopyResistance_dTCanopy       ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp)                       :: dCanopyResistance_dTCanair       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
- real(dp)                       :: turbFluxCanair                   ! total turbulent heat fluxes exchanged at the canopy air space (W m-2)
- real(dp)                       :: turbFluxCanopy                   ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
- real(dp)                       :: turbFluxGround                   ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
-
- ! local (turbulent heat transfer -- compute numerical derivatives)
- ! (temporary scalar resistances when states are perturbed)
- real(dp)                       :: trialLeafResistance              ! mean leaf boundary layer resistance per unit leaf area (s m-1)
- real(dp)                       :: trialGroundResistance            ! below canopy aerodynamic resistance (s m-1)
- real(dp)                       :: trialCanopyResistance            ! above canopy aerodynamic resistance (s m-1)
- real(dp)                       :: notUsed_RiBulkCanopy             ! bulk Richardson number for the canopy (-)
- real(dp)                       :: notUsed_RiBulkGround             ! bulk Richardson number for the ground surface (-)
- real(dp)                       :: notUsed_z0Canopy                 ! roughness length of the vegetation canopy (m)
- real(dp)                       :: notUsed_WindReductionFactor      ! canopy wind reduction factor (-)
- real(dp)                       :: notUsed_ZeroPlaneDisplacement    ! zero plane displacement (m)
- real(dp)                       :: notUsed_scalarCanopyStabilityCorrection  ! stability correction for the canopy (-)
- real(dp)                       :: notUsed_scalarGroundStabilityCorrection  ! stability correction for the ground surface (-)
- real(dp)                       :: notUsed_EddyDiffusCanopyTop      ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
- real(dp)                       :: notUsed_FrictionVelocity         ! friction velocity (m s-1)
- real(dp)                       :: notUsed_WindspdCanopyTop         ! windspeed at the top of the canopy (m s-1)
- real(dp)                       :: notUsed_WindspdCanopyBottom      ! windspeed at the height of the bottom of the canopy (m s-1)
- real(dp)                       :: notUsed_dGroundResistance_dTGround  ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
- real(dp)                       :: notUsed_dGroundResistance_dTCanopy  ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp)                       :: notUsed_dGroundResistance_dTCanair  ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
- real(dp)                       :: notUsed_dCanopyResistance_dTCanopy  ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp)                       :: notUsed_dCanopyResistance_dTCanair  ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-
- ! (fluxes after perturbations in model states -- canopy air space)
- real(dp)                       :: turbFluxCanair_dStateCanair      ! turbulent exchange from the canopy air space to the atmosphere, after canopy air temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxCanair_dStateCanopy      ! turbulent exchange from the canopy air space to the atmosphere, after canopy temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxCanair_dStateGround      ! turbulent exchange from the canopy air space to the atmosphere, after ground temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxCanair_dStateCanliq      ! turbulent exchange from the canopy air space to the atmosphere, after canopy liquid water content is perturbed (W m-2)
- ! (fluxes after perturbations in model states -- vegetation canopy)
- real(dp)                       :: turbFluxCanopy_dStateCanair      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy air temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxCanopy_dStateCanopy      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxCanopy_dStateGround      ! total turbulent heat fluxes from the canopy to the canopy air space, after ground temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxCanopy_dStateCanLiq      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy liquid water content is perturbed (W m-2)
-
- ! (fluxes after perturbations in model states -- ground surface)
- real(dp)                       :: turbFluxGround_dStateCanair      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy air temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxGround_dStateCanopy      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxGround_dStateGround      ! total turbulent heat fluxes from the ground to the canopy air space, after ground temperature is perturbed (W m-2)
- real(dp)                       :: turbFluxGround_dStateCanLiq      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy liquid water content is perturbed (W m-2)
-
- ! (fluxes after perturbations in model states -- canopy evaporation)
- real(dp)                       :: latHeatCanEvap_dStateCanair      ! canopy evaporation after canopy air temperature is perturbed (W m-2)
- real(dp)                       :: latHeatCanEvap_dStateCanopy      ! canopy evaporation after canopy temperature is perturbed (W m-2)
- real(dp)                       :: latHeatCanEvap_dStateGround      ! canopy evaporation after ground temperature is perturbed (W m-2)
- real(dp)                       :: latHeatCanEvap_dStateCanLiq      ! canopy evaporation after canopy liquid water content is perturbed (W m-2)
-
- ! (flux derivatives -- canopy air space)
- real(dp)                       :: dTurbFluxCanair_dTCanair         ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxCanair_dTCanopy         ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxCanair_dTGround         ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxCanair_dCanLiq          ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-
- ! (flux derivatives -- vegetation canopy)
- real(dp)                       :: dTurbFluxCanopy_dTCanair         ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxCanopy_dTCanopy         ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxCanopy_dTGround         ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxCanopy_dCanLiq          ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-
- ! (flux derivatives -- ground surface)
- real(dp)                       :: dTurbFluxGround_dTCanair         ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxGround_dTCanopy         ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxGround_dTGround         ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
- real(dp)                       :: dTurbFluxGround_dCanLiq          ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-
- ! (liquid water flux derivatives -- canopy evap)
- real(dp)                       :: dLatHeatCanopyEvap_dCanLiq       ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (W kg-1)
- real(dp)                       :: dLatHeatCanopyEvap_dTCanair      ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
- real(dp)                       :: dLatHeatCanopyEvap_dTCanopy      ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
- real(dp)                       :: dLatHeatCanopyEvap_dTGround      ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
-
- ! (liquid water flux derivatives -- ground evap)
- real(dp)                       :: dLatHeatGroundEvap_dCanLiq       ! derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
- real(dp)                       :: dLatHeatGroundEvap_dTCanair      ! derivative in latent heat of ground evaporation w.r.t. canopy air temperature (W m-2 K-1)
- real(dp)                       :: dLatHeatGroundEvap_dTCanopy      ! derivative in latent heat of ground evaporation w.r.t. canopy temperature (W m-2 K-1)
- real(dp)                       :: dLatHeatGroundEvap_dTGround      ! derivative in latent heat of ground evaporation w.r.t. ground temperature (W m-2 K-1)
-
- ! ---------------------------------------------------------------------------------------
- ! point to variables in the data structure
- ! ---------------------------------------------------------------------------------------
- associate(&
-
- ! input: model decisions
- ix_bcUpprTdyn                   => model_decisions(iLookDECISIONS%bcUpprTdyn)%iDecision,           & ! intent(in): [i4b] choice of upper boundary condition for thermodynamics
- ix_fDerivMeth                   => model_decisions(iLookDECISIONS%fDerivMeth)%iDecision,           & ! intent(in): [i4b] choice of method to compute derivatives
- ix_veg_traits                   => model_decisions(iLookDECISIONS%veg_traits)%iDecision,           & ! intent(in): [i4b] choice of parameterization for vegetation roughness length and displacement height
- ix_canopyEmis                   => model_decisions(iLookDECISIONS%canopyEmis)%iDecision,           & ! intent(in): [i4b] choice of parameterization for canopy emissivity
- ix_windPrfile                   => model_decisions(iLookDECISIONS%windPrfile)%iDecision,           & ! intent(in): [i4b] choice of canopy wind profile
- ix_astability                   => model_decisions(iLookDECISIONS%astability)%iDecision,           & ! intent(in): [i4b] choice of stability function
- ix_soilStress                   => model_decisions(iLookDECISIONS%soilStress)%iDecision,           & ! intent(in): [i4b] choice of function for the soil moisture control on stomatal resistance
- ix_groundwatr                   => model_decisions(iLookDECISIONS%groundwatr)%iDecision,           & ! intent(in): [i4b] choice of groundwater parameterization
- ix_stomResist                   => model_decisions(iLookDECISIONS%stomResist)%iDecision,           & ! intent(in): [i4b] choice of function for stomatal resistance
- ix_spatial_gw                   => model_decisions(iLookDECISIONS%spatial_gw)%iDecision,           & ! intent(in): [i4b] choice of groundwater representation (local, basin)
-
- ! input: layer geometry
- nSnow                           => indx_data%var(iLookINDEX%nSnow)%dat(1),                         & ! intent(in): [i4b] number of snow layers
- nSoil                           => indx_data%var(iLookINDEX%nSoil)%dat(1),                         & ! intent(in): [i4b] number of soil layers
- nLayers                         => indx_data%var(iLookINDEX%nLayers)%dat(1),                       & ! intent(in): [i4b] total number of layers
-
- ! input: physical attributes
- vegTypeIndex                    => type_data%var(iLookTYPE%vegTypeIndex),                          & ! intent(in): [i4b] vegetation type index
- soilTypeIndex                   => type_data%var(iLookTYPE%soilTypeIndex),                         & ! intent(in): [i4b] soil type index
-
- ! input: vegetation parameters
- heightCanopyTop                 => mpar_data%var(iLookPARAM%heightCanopyTop)%dat(1),               & ! intent(in): [dp] height at the top of the vegetation canopy (m)
- heightCanopyBottom              => mpar_data%var(iLookPARAM%heightCanopyBottom)%dat(1),            & ! intent(in): [dp] height at the bottom of the vegetation canopy (m)
- canopyWettingFactor             => mpar_data%var(iLookPARAM%canopyWettingFactor)%dat(1),           & ! intent(in): [dp] maximum wetted fraction of the canopy (-)
- canopyWettingExp                => mpar_data%var(iLookPARAM%canopyWettingExp)%dat(1),              & ! intent(in): [dp] exponent in canopy wetting function (-)
- scalarCanopyIceMax              => diag_data%var(iLookDIAG%scalarCanopyIceMax)%dat(1),             & ! intent(in): [dp] maximum interception storage capacity for ice (kg m-2)
- scalarCanopyLiqMax              => diag_data%var(iLookDIAG%scalarCanopyLiqMax)%dat(1),             & ! intent(in): [dp] maximum interception storage capacity for liquid water (kg m-2)
-
- ! input: vegetation phenology
- scalarLAI                       => diag_data%var(iLookDIAG%scalarLAI)%dat(1),                      & ! intent(in): [dp] one-sided leaf area index (m2 m-2)
- scalarSAI                       => diag_data%var(iLookDIAG%scalarSAI)%dat(1),                      & ! intent(in): [dp] one-sided stem area index (m2 m-2)
- scalarExposedLAI                => diag_data%var(iLookDIAG%scalarExposedLAI)%dat(1),               & ! intent(in): [dp] exposed leaf area index after burial by snow (m2 m-2)
- scalarExposedSAI                => diag_data%var(iLookDIAG%scalarExposedSAI)%dat(1),               & ! intent(in): [dp] exposed stem area index after burial by snow (m2 m-2)
- scalarGrowingSeasonIndex        => diag_data%var(iLookDIAG%scalarGrowingSeasonIndex)%dat(1),       & ! intent(in): [dp] growing season index (0=off, 1=on)
- scalarFoliageNitrogenFactor     => diag_data%var(iLookDIAG%scalarFoliageNitrogenFactor)%dat(1),    & ! intent(in): [dp] foliage nitrogen concentration (1.0 = saturated)
-
- ! input: aerodynamic resistance parameters
- z0Snow                          => mpar_data%var(iLookPARAM%z0Snow)%dat(1),                        & ! intent(in): [dp] roughness length of snow (m)
- z0Soil                          => mpar_data%var(iLookPARAM%z0Soil)%dat(1),                        & ! intent(in): [dp] roughness length of soil (m)
- z0CanopyParam                   => mpar_data%var(iLookPARAM%z0Canopy)%dat(1),                      & ! intent(in): [dp] roughness length of the canopy (m)
- zpdFraction                     => mpar_data%var(iLookPARAM%zpdFraction)%dat(1),                   & ! intent(in): [dp] zero plane displacement / canopy height (-)
- critRichNumber                  => mpar_data%var(iLookPARAM%critRichNumber)%dat(1),                & ! intent(in): [dp] critical value for the bulk Richardson number where turbulence ceases (-)
- Louis79_bparam                  => mpar_data%var(iLookPARAM%Louis79_bparam)%dat(1),                & ! intent(in): [dp] parameter in Louis (1979) stability function
- Louis79_cStar                   => mpar_data%var(iLookPARAM%Louis79_cStar)%dat(1),                 & ! intent(in): [dp] parameter in Louis (1979) stability function
- Mahrt87_eScale                  => mpar_data%var(iLookPARAM%Mahrt87_eScale)%dat(1),                & ! intent(in): [dp] exponential scaling factor in the Mahrt (1987) stability function
- windReductionParam              => mpar_data%var(iLookPARAM%windReductionParam)%dat(1),            & ! intent(in): [dp] canopy wind reduction parameter (-)
- leafExchangeCoeff               => mpar_data%var(iLookPARAM%leafExchangeCoeff)%dat(1),             & ! intent(in): [dp] turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
- leafDimension                   => mpar_data%var(iLookPARAM%leafDimension)%dat(1),                 & ! intent(in): [dp] characteristic leaf dimension (m)
-
- ! input: soil stress parameters
- theta_sat                       => mpar_data%var(iLookPARAM%theta_sat)%dat(1),                     & ! intent(in): [dp] soil porosity (-)
- theta_res                       => mpar_data%var(iLookPARAM%theta_res)%dat(1),                     & ! intent(in): [dp] residual volumetric liquid water content (-)
- plantWiltPsi                    => mpar_data%var(iLookPARAM%plantWiltPsi)%dat(1),                  & ! intent(in): [dp] matric head at wilting point (m)
- soilStressParam                 => mpar_data%var(iLookPARAM%soilStressParam)%dat(1),               & ! intent(in): [dp] parameter in the exponential soil stress function (-)
- critSoilWilting                 => mpar_data%var(iLookPARAM%critSoilWilting)%dat(1),               & ! intent(in): [dp] critical vol. liq. water content when plants are wilting (-)
- critSoilTranspire               => mpar_data%var(iLookPARAM%critSoilTranspire)%dat(1),             & ! intent(in): [dp] critical vol. liq. water content when transpiration is limited (-)
- critAquiferTranspire            => mpar_data%var(iLookPARAM%critAquiferTranspire)%dat(1),          & ! intent(in): [dp] critical aquifer storage value when transpiration is limited (m)
- minStomatalResistance           => mpar_data%var(iLookPARAM%minStomatalResistance)%dat(1),         & ! intent(in): [dp] mimimum stomatal resistance (s m-1)
-
- ! input: forcing at the upper boundary
- mHeight                         => diag_data%var(iLookDIAG%scalarAdjMeasHeight)%dat(1),            & ! intent(in): [dp] measurement height (m)
- airtemp                         => forc_data%var(iLookFORCE%airtemp),                              & ! intent(in): [dp] air temperature at some height above the surface (K)
- windspd                         => forc_data%var(iLookFORCE%windspd),                              & ! intent(in): [dp] wind speed at some height above the surface (m s-1)
- airpres                         => forc_data%var(iLookFORCE%airpres),                              & ! intent(in): [dp] air pressure at some height above the surface (Pa)
- LWRadAtm                        => forc_data%var(iLookFORCE%LWRadAtm),                             & ! intent(in): [dp] downwelling longwave radiation at the upper boundary (W m-2)
- scalarVPair                     => diag_data%var(iLookDIAG%scalarVPair)%dat(1),                    & ! intent(in): [dp] vapor pressure at some height above the surface (Pa)
- scalarO2air                     => diag_data%var(iLookDIAG%scalarO2air)%dat(1),                    & ! intent(in): [dp] atmospheric o2 concentration (Pa)
- scalarCO2air                    => diag_data%var(iLookDIAG%scalarCO2air)%dat(1),                   & ! intent(in): [dp] atmospheric co2 concentration (Pa)
- scalarTwetbulb                  => diag_data%var(iLookDIAG%scalarTwetbulb)%dat(1),                 & ! intent(in): [dp] wetbulb temperature (K)
- scalarRainfall                  => flux_data%var(iLookFLUX%scalarRainfall)%dat(1),                 & ! intent(in): [dp] computed rainfall rate (kg m-2 s-1)
- scalarSnowfall                  => flux_data%var(iLookFLUX%scalarSnowfall)%dat(1),                 & ! intent(in): [dp] computed snowfall rate (kg m-2 s-1)
- scalarThroughfallRain           => flux_data%var(iLookFLUX%scalarThroughfallRain)%dat(1),          & ! intent(in): [dp] rainfall through the vegetation canopy (kg m-2 s-1)
- scalarThroughfallSnow           => flux_data%var(iLookFLUX%scalarThroughfallSnow)%dat(1),          & ! intent(in): [dp] snowfall through the vegetation canopy (kg m-2 s-1)
-
- ! input: water storage
- ! NOTE: soil stress only computed at the start of the substep (firstFluxCall=.true.)
- scalarSWE                       => prog_data%var(iLookPROG%scalarSWE)%dat(1),                      & ! intent(in): [dp]    snow water equivalent on the ground (kg m-2)
- scalarSnowDepth                 => prog_data%var(iLookPROG%scalarSnowDepth)%dat(1),                & ! intent(in): [dp]    snow depth on the ground surface (m)
- mLayerVolFracLiq                => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat,                  & ! intent(in): [dp(:)] volumetric fraction of liquid water in each layer (-)
- mLayerMatricHead                => prog_data%var(iLookPROG%mLayerMatricHead)%dat,                  & ! intent(in): [dp(:)] matric head in each soil layer (m)
- localAquiferStorage             => prog_data%var(iLookPROG%scalarAquiferStorage)%dat(1),           & ! intent(in): [dp]    aquifer storage for the local column (m)
- basinAquiferStorage             => bvar_data%var(iLookBVAR%basin__AquiferStorage)%dat(1),          & ! intent(in): [dp]    aquifer storage for the single basin (m)
-
- ! input: shortwave radiation fluxes
- scalarCanopySunlitLAI           => diag_data%var(iLookDIAG%scalarCanopySunlitLAI)%dat(1),          & ! intent(in): [dp] sunlit leaf area (-)
- scalarCanopyShadedLAI           => diag_data%var(iLookDIAG%scalarCanopyShadedLAI)%dat(1),          & ! intent(in): [dp] shaded leaf area (-)
- scalarCanopySunlitPAR           => flux_data%var(iLookFLUX%scalarCanopySunlitPAR)%dat(1),          & ! intent(in): [dp] average absorbed par for sunlit leaves (w m-2)
- scalarCanopyShadedPAR           => flux_data%var(iLookFLUX%scalarCanopyShadedPAR)%dat(1),          & ! intent(in): [dp] average absorbed par for shaded leaves (w m-2)
- scalarCanopyAbsorbedSolar       => flux_data%var(iLookFLUX%scalarCanopyAbsorbedSolar)%dat(1),      & ! intent(in): [dp] solar radiation absorbed by canopy (W m-2)
- scalarGroundAbsorbedSolar       => flux_data%var(iLookFLUX%scalarGroundAbsorbedSolar)%dat(1),      & ! intent(in): [dp] solar radiation absorbed by ground (W m-2)
-
- ! output: fraction of wetted canopy area and fraction of snow on the ground
- scalarCanopyWetFraction         => diag_data%var(iLookDIAG%scalarCanopyWetFraction)%dat(1),        & ! intent(out): [dp] fraction of canopy that is wet
- scalarGroundSnowFraction        => diag_data%var(iLookDIAG%scalarGroundSnowFraction)%dat(1),       & ! intent(out): [dp] fraction of ground covered with snow (-)
-
- ! output: longwave radiation fluxes
- scalarCanopyEmissivity          => diag_data%var(iLookDIAG%scalarCanopyEmissivity)%dat(1),         & ! intent(out): [dp] effective emissivity of the canopy (-)
- scalarLWRadCanopy               => flux_data%var(iLookFLUX%scalarLWRadCanopy)%dat(1),              & ! intent(out): [dp] longwave radiation emitted from the canopy (W m-2)
- scalarLWRadGround               => flux_data%var(iLookFLUX%scalarLWRadGround)%dat(1),              & ! intent(out): [dp] longwave radiation emitted at the ground surface (W m-2)
- scalarLWRadUbound2Canopy        => flux_data%var(iLookFLUX%scalarLWRadUbound2Canopy)%dat(1),       & ! intent(out): [dp] downward atmospheric longwave radiation absorbed by the canopy (W m-2)
- scalarLWRadUbound2Ground        => flux_data%var(iLookFLUX%scalarLWRadUbound2Ground)%dat(1),       & ! intent(out): [dp] downward atmospheric longwave radiation absorbed by the ground (W m-2)
- scalarLWRadUbound2Ubound        => flux_data%var(iLookFLUX%scalarLWRadUbound2Ubound)%dat(1),       & ! intent(out): [dp] atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
- scalarLWRadCanopy2Ubound        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Ubound)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from canopy lost thru upper boundary (W m-2)
- scalarLWRadCanopy2Ground        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Ground)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from canopy absorbed by the ground (W m-2)
- scalarLWRadCanopy2Canopy        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Canopy)%dat(1),       & ! intent(out): [dp] canopy longwave reflected from ground and absorbed by the canopy (W m-2)
- scalarLWRadGround2Ubound        => flux_data%var(iLookFLUX%scalarLWRadGround2Ubound)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from ground lost thru upper boundary (W m-2)
- scalarLWRadGround2Canopy        => flux_data%var(iLookFLUX%scalarLWRadGround2Canopy)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from ground and absorbed by the canopy (W m-2)
- scalarLWNetCanopy               => flux_data%var(iLookFLUX%scalarLWNetCanopy)%dat(1),              & ! intent(out): [dp] net longwave radiation at the canopy (W m-2)
- scalarLWNetGround               => flux_data%var(iLookFLUX%scalarLWNetGround)%dat(1),              & ! intent(out): [dp] net longwave radiation at the ground surface (W m-2)
- scalarLWNetUbound               => flux_data%var(iLookFLUX%scalarLWNetUbound)%dat(1),              & ! intent(out): [dp] net longwave radiation at the upper boundary (W m-2)
-
- ! output: aerodynamic resistance
- scalarZ0Canopy                  => diag_data%var(iLookDIAG%scalarZ0Canopy)%dat(1),                 & ! intent(out): [dp] roughness length of the canopy (m)
- scalarWindReductionFactor       => diag_data%var(iLookDIAG%scalarWindReductionFactor)%dat(1),      & ! intent(out): [dp] canopy wind reduction factor (-)
- scalarZeroPlaneDisplacement     => diag_data%var(iLookDIAG%scalarZeroPlaneDisplacement)%dat(1),    & ! intent(out): [dp] zero plane displacement (m)
- scalarRiBulkCanopy              => diag_data%var(iLookDIAG%scalarRiBulkCanopy)%dat(1),             & ! intent(out): [dp] bulk Richardson number for the canopy (-)
- scalarRiBulkGround              => diag_data%var(iLookDIAG%scalarRiBulkGround)%dat(1),             & ! intent(out): [dp] bulk Richardson number for the ground surface (-)
- scalarEddyDiffusCanopyTop       => flux_data%var(iLookFLUX%scalarEddyDiffusCanopyTop)%dat(1),      & ! intent(out): [dp] eddy diffusivity for heat at the top of the canopy (m2 s-1)
- scalarFrictionVelocity          => flux_data%var(iLookFLUX%scalarFrictionVelocity)%dat(1),         & ! intent(out): [dp] friction velocity (m s-1)
- scalarWindspdCanopyTop          => flux_data%var(iLookFLUX%scalarWindspdCanopyTop)%dat(1),         & ! intent(out): [dp] windspeed at the top of the canopy (m s-1)
- scalarWindspdCanopyBottom       => flux_data%var(iLookFLUX%scalarWindspdCanopyBottom)%dat(1),      & ! intent(out): [dp] windspeed at the height of the bottom of the canopy (m s-1)
- scalarLeafResistance            => flux_data%var(iLookFLUX%scalarLeafResistance)%dat(1),           & ! intent(out): [dp] mean leaf boundary layer resistance per unit leaf area (s m-1)
- scalarGroundResistance          => flux_data%var(iLookFLUX%scalarGroundResistance)%dat(1),         & ! intent(out): [dp] below canopy aerodynamic resistance (s m-1)
- scalarCanopyResistance          => flux_data%var(iLookFLUX%scalarCanopyResistance)%dat(1),         & ! intent(out): [dp] above canopy aerodynamic resistance (s m-1)
-
- ! input/output: soil resistance -- intent(in) and intent(inout) because only called at the first flux call
- mLayerRootDensity               => diag_data%var(iLookDIAG%mLayerRootDensity)%dat,                 & ! intent(in):    [dp] root density in each layer (-)
- scalarAquiferRootFrac           => diag_data%var(iLookDIAG%scalarAquiferRootFrac)%dat(1),          & ! intent(in):    [dp] fraction of roots below the lowest soil layer (-)
- scalarTranspireLim              => diag_data%var(iLookDIAG%scalarTranspireLim)%dat(1),             & ! intent(inout): [dp] weighted average of the transpiration limiting factor (-)
- mLayerTranspireLim              => diag_data%var(iLookDIAG%mLayerTranspireLim)%dat,                & ! intent(inout): [dp] transpiration limiting factor in each layer (-)
- scalarTranspireLimAqfr          => diag_data%var(iLookDIAG%scalarTranspireLimAqfr)%dat(1),         & ! intent(inout): [dp] transpiration limiting factor for the aquifer (-)
- scalarSoilRelHumidity           => diag_data%var(iLookDIAG%scalarSoilRelHumidity)%dat(1),          & ! intent(inout): [dp] relative humidity in the soil pores [0-1]
- scalarSoilResistance            => flux_data%var(iLookFLUX%scalarSoilResistance)%dat(1),           & ! intent(inout): [dp] resistance from the soil (s m-1)
-
- ! input/output: stomatal resistance -- intent(inout) because only called at the first flux call
- scalarStomResistSunlit          => flux_data%var(iLookFLUX%scalarStomResistSunlit)%dat(1),         & ! intent(inout): [dp] stomatal resistance for sunlit leaves (s m-1)
- scalarStomResistShaded          => flux_data%var(iLookFLUX%scalarStomResistShaded)%dat(1),         & ! intent(inout): [dp] stomatal resistance for shaded leaves (s m-1)
- scalarPhotosynthesisSunlit      => flux_data%var(iLookFLUX%scalarPhotosynthesisSunlit)%dat(1),     & ! intent(inout): [dp] sunlit photosynthesis (umolco2 m-2 s-1)
- scalarPhotosynthesisShaded      => flux_data%var(iLookFLUX%scalarPhotosynthesisShaded)%dat(1),     & ! intent(inout): [dp] shaded photosynthesis (umolco2 m-2 s-1)
-
- ! output: turbulent heat fluxes
- scalarLatHeatSubVapCanopy       => diag_data%var(iLookDIAG%scalarLatHeatSubVapCanopy)%dat(1),      & ! intent(inout): [dp] latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
- scalarLatHeatSubVapGround       => diag_data%var(iLookDIAG%scalarLatHeatSubVapGround)%dat(1),      & ! intent(inout): [dp] latent heat of sublimation/vaporization for the ground surface (J kg-1)
- scalarSatVP_canopyTemp          => diag_data%var(iLookDIAG%scalarSatVP_CanopyTemp)%dat(1),         & ! intent(out):   [dp] saturation vapor pressure at the temperature of the vegetation canopy (Pa)
- scalarSatVP_groundTemp          => diag_data%var(iLookDIAG%scalarSatVP_GroundTemp)%dat(1),         & ! intent(out):   [dp] saturation vapor pressure at the temperature of the ground surface (Pa)
- scalarSenHeatTotal              => flux_data%var(iLookFLUX%scalarSenHeatTotal)%dat(1),             & ! intent(out):   [dp] sensible heat from the canopy air space to the atmosphere (W m-2)
- scalarSenHeatCanopy             => flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1),            & ! intent(out):   [dp] sensible heat flux from the canopy to the canopy air space (W m-2)
- scalarSenHeatGround             => flux_data%var(iLookFLUX%scalarSenHeatGround)%dat(1),            & ! intent(out):   [dp] sensible heat flux from ground surface below vegetation (W m-2)
- scalarLatHeatTotal              => flux_data%var(iLookFLUX%scalarLatHeatTotal)%dat(1),             & ! intent(out):   [dp] latent heat from the canopy air space to the atmosphere (W m-2)
- scalarLatHeatCanopyEvap         => flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1),        & ! intent(out):   [dp] latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
- scalarLatHeatCanopyTrans        => flux_data%var(iLookFLUX%scalarLatHeatCanopyTrans)%dat(1),       & ! intent(out):   [dp] latent heat flux for transpiration from the canopy to the canopy air space (W m-2)
- scalarLatHeatGround             => flux_data%var(iLookFLUX%scalarLatHeatGround)%dat(1),            & ! intent(out):   [dp] latent heat flux from ground surface below vegetation (W m-2)
-
- ! output: advective heat fluxes
- scalarCanopyAdvectiveHeatFlux   => flux_data%var(iLookFLUX%scalarCanopyAdvectiveHeatFlux)%dat(1),  & ! intent(out): [dp] heat advected to the canopy surface with rain + snow (W m-2)
- scalarGroundAdvectiveHeatFlux   => flux_data%var(iLookFLUX%scalarGroundAdvectiveHeatFlux)%dat(1),  & ! intent(out): [dp] heat advected to the ground surface with throughfall (W m-2)
-
- ! output: mass fluxes
- scalarCanopySublimation         => flux_data%var(iLookFLUX%scalarCanopySublimation)%dat(1),        & ! intent(out): [dp] canopy sublimation/frost (kg m-2 s-1)
- scalarSnowSublimation           => flux_data%var(iLookFLUX%scalarSnowSublimation)%dat(1),          & ! intent(out): [dp] snow sublimation/frost -- below canopy or non-vegetated (kg m-2 s-1)
-
- ! input/output: canopy air space variables
- scalarVP_CanopyAir              => diag_data%var(iLookDIAG%scalarVP_CanopyAir)%dat(1),             & ! intent(inout): [dp] vapor pressure of the canopy air space (Pa)
- scalarCanopyStabilityCorrection => diag_data%var(iLookDIAG%scalarCanopyStabilityCorrection)%dat(1),& ! intent(inout): [dp] stability correction for the canopy (-)
- scalarGroundStabilityCorrection => diag_data%var(iLookDIAG%scalarGroundStabilityCorrection)%dat(1),& ! intent(inout): [dp] stability correction for the ground surface (-)
-
- ! output: liquid water fluxes
- scalarCanopyTranspiration       => flux_data%var(iLookFLUX%scalarCanopyTranspiration)%dat(1),      & ! intent(out): [dp] canopy transpiration (kg m-2 s-1)
- scalarCanopyEvaporation         => flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1),        & ! intent(out): [dp] canopy evaporation/condensation (kg m-2 s-1)
- scalarGroundEvaporation         => flux_data%var(iLookFLUX%scalarGroundEvaporation)%dat(1),        & ! intent(out): [dp] ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
-
- ! output: derived fluxes
- scalarTotalET                   => flux_data%var(iLookFLUX%scalarTotalET)%dat(1),                  & ! intent(out): [dp] total ET (kg m-2 s-1)
- scalarNetRadiation              => flux_data%var(iLookFLUX%scalarNetRadiation)%dat(1)              & ! intent(out): [dp] net radiation (W m-2)
- )
- ! ---------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message="vegNrgFlux/"
-
- ! initialize printflag
- printflag = .false.
-
- ! identify the type of boundary condition for thermodynamics
- select case(ix_bcUpprTdyn)
-
-  ! *****
-  ! (1) DIRICHLET OR ZERO FLUX BOUNDARY CONDITION...
-  ! ************************************************
-
-  ! NOTE: Vegetation fluxes are not computed in this case
-
-  ! ** prescribed temperature or zero flux at the upper boundary of the snow-soil system
-  case(prescribedTemp,zeroFlux)
-
-   ! derived fluxes
-   scalarTotalET             = 0._dp    ! total ET (kg m-2 s-1)
-   scalarNetRadiation        = 0._dp    ! net radiation (W m-2)
-   ! liquid water fluxes associated with evaporation/transpiration
-   scalarCanopyTranspiration = 0._dp    ! canopy transpiration (kg m-2 s-1)
-   scalarCanopyEvaporation   = 0._dp    ! canopy evaporation/condensation (kg m-2 s-1)
-   scalarGroundEvaporation   = 0._dp    ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
-   ! solid water fluxes associated with sublimation/frost
-   scalarCanopySublimation   = 0._dp    ! sublimation from the vegetation canopy ((kg m-2 s-1)
-   scalarSnowSublimation     = 0._dp    ! sublimation from the snow surface ((kg m-2 s-1)
-   ! set canopy fluxes to zero (no canopy)
-   canairNetFlux             = 0._dp    ! net energy flux for the canopy air space (W m-2)
-   canopyNetFlux             = 0._dp    ! net energy flux for the vegetation canopy (W m-2)
-   ! set canopy derivatives to zero
-   dCanairNetFlux_dCanairTemp = 0._dp   ! derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
-   dCanairNetFlux_dCanopyTemp = 0._dp   ! derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
-   dCanairNetFlux_dGroundTemp = 0._dp   ! derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
-   dCanopyNetFlux_dCanairTemp = 0._dp   ! derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
-   dCanopyNetFlux_dCanopyTemp = 0._dp   ! derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
-   dCanopyNetFlux_dGroundTemp = 0._dp   ! derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
-   dGroundNetFlux_dCanairTemp = 0._dp   ! derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
-   dGroundNetFlux_dCanopyTemp = 0._dp   ! derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
-   ! set liquid flux derivatives to zero (canopy evap)
-   dCanopyEvaporation_dCanLiq = 0._dp    ! derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
-   dCanopyEvaporation_dTCanair= 0._dp    ! derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
-   dCanopyEvaporation_dTCanopy= 0._dp    ! derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
-   dCanopyEvaporation_dTGround= 0._dp    ! derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-   ! set liquid flux derivatives to zero (ground evap)
-   dGroundEvaporation_dCanLiq = 0._dp    ! derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
-   dGroundEvaporation_dTCanair= 0._dp    ! derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
-   dGroundEvaporation_dTCanopy= 0._dp    ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
-   dGroundEvaporation_dTGround= 0._dp    ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
-
-   ! compute fluxes and derivatives -- separate approach for prescribed temperature and zero flux
-   if(ix_bcUpprTdyn == prescribedTemp)then
-    ! compute ground net flux (W m-2)
-    groundNetFlux = -diag_data%var(iLookDIAG%iLayerThermalC)%dat(0)*(groundTempTrial - upperBoundTemp)/(prog_data%var(iLookPROG%mLayerDepth)%dat(1)*0.5_dp)
-    ! compute derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
-    dGroundNetFlux_dGroundTemp = -diag_data%var(iLookDIAG%iLayerThermalC)%dat(0)/(prog_data%var(iLookPROG%mLayerDepth)%dat(1)*0.5_dp)
-   elseif(model_decisions(iLookDECISIONS%bcUpprTdyn)%iDecision == zeroFlux)then
-    groundNetFlux              = 0._dp
-    dGroundNetFlux_dGroundTemp = 0._dp
-   else
-    err=20; message=trim(message)//'unable to identify upper boundary condition for thermodynamics: expect the case to be prescribedTemp or zeroFlux'; return
-   end if
-
-  ! *****
-  ! (2) NEUMANN BOUNDARY CONDITION...
-  ! *********************************
-
-  ! NOTE 1: This is the main routine for calculating vegetation fluxes
-  ! NOTE 2: This routine also calculates surface fluxes for the case where vegetation is buried with snow (or bare soil)
-
-  ! *******************************************************************************************************************************************************************
-  ! *******************************************************************************************************************************************************************
-  ! ***** PRELIMINARIES  **********************************************************************************************************************************************
-  ! *******************************************************************************************************************************************************************
-  ! *******************************************************************************************************************************************************************
-
-  ! * flux boundary condition
-  case(energyFlux)
-
-   ! identify the appropriate groundwater variable
-   select case(ix_spatial_gw)
-    case(singleBasin); scalarAquiferStorage = basinAquiferStorage
-    case(localColumn); scalarAquiferStorage = localAquiferStorage
-    case default; err=20; message=trim(message)//'unable to identify spatial representation of groundwater'; return
-   end select ! (modify the groundwater representation for this single-column implementation)
-
-   ! set canopy stability corrections to the previous values
-   scalarCanopyStabilityCorrection_old = scalarCanopyStabilityCorrection       ! stability correction for the canopy (-)
-   scalarGroundStabilityCorrection_old = scalarGroundStabilityCorrection       ! stability correction for the ground surface (-)
-
-   ! initialize variables to compute stomatal resistance
-   if(firstFluxCall .and. firstSubStep)then
-    ! vapor pressure in the canopy air space initialized as vapor pressure of air above the vegetation canopy
-    ! NOTE: this is needed for the stomatal resistance calculations
-    if(scalarVP_CanopyAir < 0._dp)then
-     scalarVP_CanopyAir    = scalarVPair - 1._dp    ! "small" offset used to assist in checking initial derivative calculations
-    end if
-   end if
-
-   ! set latent heat of sublimation/vaporization for canopy and ground surface (Pa/K)
-   ! NOTE: variables are constant over the substep, to simplify relating energy and mass fluxes
-   if(firstFluxCall)then
-    scalarLatHeatSubVapCanopy = getLatentHeatValue(canopyTempTrial)
-    ! case when there is snow on the ground (EXCLUDE "snow without a layer" -- in this case, evaporate from the soil)
-    if(nSnow > 0)then
-     if(groundTempTrial > Tfreeze)then; err=20; message=trim(message)//'do not expect ground temperature > 0 when snow is on the ground'; return; end if
-     scalarLatHeatSubVapGround = LH_sub  ! sublimation from snow
-     scalarGroundSnowFraction  = 1._dp
-    ! case when the ground is snow-free
-    else
-     scalarLatHeatSubVapGround = LH_vap  ! evaporation of water in the soil pores: this occurs even if frozen because of super-cooled water
-     scalarGroundSnowFraction  = 0._dp
-    end if  ! (if there is snow on the ground)
-   end if  ! (if the first flux call)
-   !write(*,'(a,1x,10(f30.10,1x))') 'groundTempTrial, scalarLatHeatSubVapGround = ', groundTempTrial, scalarLatHeatSubVapGround
-
-   ! compute the roughness length of the ground (ground below the canopy or non-vegetated surface)
-   z0Ground = z0soil*(1._dp - scalarGroundSnowFraction) + z0Snow*scalarGroundSnowFraction     ! roughness length (m)
-
-   ! compute the total vegetation area index (leaf plus stem)
-   VAI        = scalarLAI + scalarSAI  ! vegetation area index
-
-   exposedVAI = scalarExposedLAI + scalarExposedSAI  !  exposed vegetation area index
-
-   ! compute emissivity of the canopy (-)
-   if(computeVegFlux)then
-    select case(ix_canopyEmis)
-     ! *** simple exponential function
-     case(simplExp)
-      scalarCanopyEmissivity = 1._dp - exp(-exposedVAI)                                     ! effective emissivity of the canopy (-)
-     ! *** canopy emissivity parameterized as a function of diffuse transmissivity
-     case(difTrans)
-      ! compute the exponential integral
-      scaleLAI = 0.5_dp*exposedVAI
-      expi     = expInt(scaleLAI)
-      ! compute diffuse transmissivity (-)
-      diffuseTrans = (1._dp - scaleLAI)*exp(-scaleLAI) + (scaleLAI**2._dp)*expi
-      ! compute the canopy emissivity
-      scalarCanopyEmissivity = (1._dp - diffuseTrans)*vegEmissivity
-     ! *** check we found the correct option
-     case default
-      err=20; message=trim(message)//'unable to identify option for canopy emissivity'; return
-    end select
-   end if
-
-   ! ensure canopy longwave fluxes are zero when not computing canopy fluxes
-   if(.not.computeVegFlux) scalarCanopyEmissivity=0._dp
-
-   ! compute emissivity of the ground surface (-)
-   groundEmissivity = scalarGroundSnowFraction*snowEmissivity + (1._dp - scalarGroundSnowFraction)*soilEmissivity  ! emissivity of the ground surface (-)
-
-   ! compute the fraction of canopy that is wet
-   ! NOTE: we either sublimate or evaporate over the entire substep
-   if(computeVegFlux)then
-
-    ! compute the fraction of liquid water in the canopy (-)
-    totalCanopyWater = canopyLiqTrial + canopyIceTrial
-    if(totalCanopyWater > tiny(1.0_dp))then
-     fracLiquidCanopy = canopyLiqTrial / (canopyLiqTrial + canopyIceTrial)
-    else
-     fracLiquidCanopy = 0._dp
-    end if
-
-    ! get wetted fraction and derivatives
-    call wettedFrac(&
-                    ! input
-                    .true.,                                         & ! flag to denote if derivative is desired
-                    (ix_fDerivMeth == numerical),                   & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
-                    (scalarLatHeatSubVapCanopy > LH_vap+verySmall), & ! flag to denote if the canopy is frozen
-                    dCanLiq_dTcanopy,                               & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
-                    fracLiquidCanopy,                               & ! fraction of liquid water on the canopy (-)
-                    canopyLiqTrial,                                 & ! canopy liquid water (kg m-2)
-                    canopyIceTrial,                                 & ! canopy ice (kg m-2)
-                    scalarCanopyLiqMax,                             & ! maximum canopy liquid water (kg m-2)
-                    scalarCanopyIceMax,                             & ! maximum canopy ice content (kg m-2)
-                    canopyWettingFactor,                            & ! maximum wetted fraction of the canopy (-)
-                    canopyWettingExp,                               & ! exponent in canopy wetting function (-)
-                    ! output
-                    scalarCanopyWetFraction,                        & ! canopy wetted fraction (-)
-                    dCanopyWetFraction_dWat,                        & ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
-                    dCanopyWetFraction_dT,                          & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
-                    err,cmessage)
-    if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-   else
-    scalarCanopyWetFraction = 0._dp  ! canopy wetted fraction (-)
-    dCanopyWetFraction_dWat = 0._dp  ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
-    dCanopyWetFraction_dT   = 0._dp  ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
-   end if
-   !write(*,'(a,1x,L1,1x,f25.15,1x))') 'computeVegFlux, scalarCanopyWetFraction = ', computeVegFlux, scalarCanopyWetFraction
-
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! ***** AERODYNAMIC RESISTANCE *****************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-
-   ! NOTE: compute for all iterations
-
-   ! compute aerodynamic resistances
-   ! Refs: Choudhury and Monteith (4-layer model for heat budget of homogenous surfaces; QJRMS, 1988)
-   !       Niu and Yang (Canopy effects on snow processes; JGR, 2004)
-   !       Mahat et al. (Below-canopy turbulence in a snowmelt model, WRR, 2012)
-   call aeroResist(&
-                   ! input: model control
-                   computeVegFlux,                     & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
-                   (ix_fDerivMeth == analytical),      & ! intent(in): logical flag if would like to compute analytical derivaties
-                   ix_veg_traits,                      & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
-                   ix_windPrfile,                      & ! intent(in): choice of canopy wind profile
-                   ix_astability,                      & ! intent(in): choice of stability function
-                   ! input: above-canopy forcing data
-                   mHeight,                            & ! intent(in): measurement height (m)
-                   airtemp,                            & ! intent(in): air temperature at some height above the surface (K)
-                   windspd,                            & ! intent(in): wind speed at some height above the surface (m s-1)
-                   ! input: canopy and ground temperature
-                   canairTempTrial,                    & ! intent(in): temperature of the canopy air space (K)
-                   groundTempTrial,                    & ! intent(in): temperature of the ground surface (K)
-                   ! input: diagnostic variables
-                   exposedVAI,                         & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
-                   scalarSnowDepth,                    & ! intent(in): snow depth (m)
-                   ! input: parameters
-                   z0Ground,                           & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
-                   z0CanopyParam,                      & ! intent(in): roughness length of the canopy (m)
-                   zpdFraction,                        & ! intent(in): zero plane displacement / canopy height (-)
-                   critRichNumber,                     & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
-                   Louis79_bparam,                     & ! intent(in): parameter in Louis (1979) stability function
-                   Mahrt87_eScale,                     & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
-                   windReductionParam,                 & ! intent(in): canopy wind reduction parameter (-)
-                   leafExchangeCoeff,                  & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
-                   leafDimension,                      & ! intent(in): characteristic leaf dimension (m)
-                   heightCanopyTop,                    & ! intent(in): height at the top of the vegetation canopy (m)
-                   heightCanopyBottom,                 & ! intent(in): height at the bottom of the vegetation canopy (m)
-                   ! output: stability corrections
-                   scalarRiBulkCanopy,                 & ! intent(out): bulk Richardson number for the canopy (-)
-                   scalarRiBulkGround,                 & ! intent(out): bulk Richardson number for the ground surface (-)
-                   scalarCanopyStabilityCorrection,    & ! intent(out): stability correction for the canopy (-)
-                   scalarGroundStabilityCorrection,    & ! intent(out): stability correction for the ground surface (-)
-                   ! output: scalar resistances
-                   scalarZ0Canopy,                     & ! intent(out): roughness length of the canopy (m)
-                   scalarWindReductionFactor,          & ! intent(out): canopy wind reduction factor (-)
-                   scalarZeroPlaneDisplacement,        & ! intent(out): zero plane displacement (m)
-                   scalarEddyDiffusCanopyTop,          & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
-                   scalarFrictionVelocity,             & ! intent(out): friction velocity (m s-1)
-                   scalarWindspdCanopyTop,             & ! intent(out): windspeed at the top of the canopy (m s-1)
-                   scalarWindspdCanopyBottom,          & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
-                   scalarLeafResistance,               & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
-                   scalarGroundResistance,             & ! intent(out): below canopy aerodynamic resistance (s m-1)
-                   scalarCanopyResistance,             & ! intent(out): above canopy aerodynamic resistance (s m-1)
-                   ! output: derivatives in scalar resistances
-                   dGroundResistance_dTGround,         & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
-                   dGroundResistance_dTCanopy,         & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
-                   dGroundResistance_dTCanair,         & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
-                   dCanopyResistance_dTCanopy,         & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
-                   dCanopyResistance_dTCanair,         & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-                   ! output: error control
-                   err,cmessage                        ) ! intent(out): error control
-   if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-   !print*,         scalarLeafResistance,    & ! mean leaf boundary layer resistance per unit leaf area (s m-1)
-   !                scalarGroundResistance,  & ! below canopy aerodynamic resistance (s m-1)
-   !                scalarCanopyResistance,  & ! above canopy aerodynamic resistance (s m-1)
-   !                '(leaf, ground, canopy)'
-
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! ***** STOMATAL RESISTANCE *****************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-
-   ! stomatal resistance is constant over the SUBSTEP
-   ! NOTE: This is a simplification, as stomatal resistance does depend on canopy temperature
-   !       This "short-cut" made because:
-   !         (1) computations are expensive;
-   !         (2) derivative calculations are rather complex (iterations within the Ball-Berry routine); and
-   !         (3) stomatal resistance does not change rapidly
-   if(firstFluxCall)then
-
-    ! compute the saturation vapor pressure for vegetation temperature
-    TV_celcius = canopyTempTrial - Tfreeze
-    call satVapPress(TV_celcius, scalarSatVP_CanopyTemp, dSVPCanopy_dCanopyTemp)
-
-    ! compute soil moisture factor controlling stomatal resistance
-    call soilResist(&
-                    ! input (model decisions)
-                    ix_soilStress,                     & ! intent(in): choice of function for the soil moisture control on stomatal resistance
-                    ix_groundwatr,                     & ! intent(in): groundwater parameterization
-                    ! input (state variables)
-                    mLayerMatricHead(1:nSoil),         & ! intent(in): matric head in each soil layer (m)
-                    mLayerVolFracLiq(nSnow+1:nLayers), & ! intent(in): volumetric fraction of liquid water in each soil layer (-)
-                    scalarAquiferStorage,              & ! intent(in): aquifer storage (m)
-                    ! input (diagnostic variables)
-                    mLayerRootDensity(1:nSoil),        & ! intent(in): root density in each layer (-)
-                    scalarAquiferRootFrac,             & ! intent(in): fraction of roots below the lowest soil layer (-)
-                    ! input (parameters)
-                    plantWiltPsi,                      & ! intent(in): matric head at wilting point (m)
-                    soilStressParam,                   & ! intent(in): parameter in the exponential soil stress function (-)
-                    critSoilWilting,                   & ! intent(in): critical vol. liq. water content when plants are wilting (-)
-                    critSoilTranspire,                 & ! intent(in): critical vol. liq. water content when transpiration is limited (-)
-                    critAquiferTranspire,              & ! intent(in): critical aquifer storage value when transpiration is limited (m)
-                    ! output
-                    scalarTranspireLim,                & ! intent(out): weighted average of the transpiration limiting factor (-)
-                    mLayerTranspireLim(1:nSoil),       & ! intent(out): transpiration limiting factor in each layer (-)
-                    scalarTranspireLimAqfr,            & ! intent(out): transpiration limiting factor for the aquifer (-)
-                    err,cmessage                       ) ! intent(out): error control
-    if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-    !print*, 'weighted average of the soil moiture factor controlling stomatal resistance (-) = ', scalarTranspireLim
-
-    !write(*,'(a,1x,10(f20.10,1x))') 'canopyTempTrial, scalarSatVP_CanopyTemp, scalarVP_CanopyAir = ', &
-    !                                 canopyTempTrial, scalarSatVP_CanopyTemp, scalarVP_CanopyAir
-
-    ! compute stomatal resistance
-    call stomResist(&
-                    ! input (state and diagnostic variables)
-                    canopyTempTrial,                   & ! intent(in): temperature of the vegetation canopy (K)
-                    scalarSatVP_CanopyTemp,            & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
-                    scalarVP_CanopyAir,                & ! intent(in): canopy air vapor pressure (Pa)
-                    ! input: data structures
-                    type_data,                         & ! intent(in):    type of vegetation and soil
-                    forc_data,                         & ! intent(in):    model forcing data
-                    mpar_data,                         & ! intent(in):    model parameters
-                    model_decisions,                   & ! intent(in):    model decisions
-                    ! input-output: data structures
-                    diag_data,                         & ! intent(inout): model diagnostic variables for a local HRU
-                    flux_data,                         & ! intent(inout): model fluxes for a local HRU
-                    ! output: error control
-                    err,cmessage                       ) ! intent(out): error control
-    if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-   end if  ! (if the first flux call in a given sub-step)
-
-
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! ***** LONGWAVE RADIATION  *****************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-
-   ! compute canopy longwave radiation balance
-   call longwaveBal(&
-                    ! input: model control
-                    ix_fDerivMeth,                     & ! intent(in): method used to calculate flux derivatives
-                    computeVegFlux,                    & ! intent(in): flag to compute fluxes over vegetation
-                    ! input: canopy and ground temperature
-                    canopyTempTrial,                   & ! intent(in): temperature of the vegetation canopy (K)
-                    groundTempTrial,                   & ! intent(in): temperature of the ground surface (K)
-                    ! input: canopy and ground emissivity
-                    scalarCanopyEmissivity,            & ! intent(in): canopy emissivity (-)
-                    groundEmissivity,                  & ! intent(in): ground emissivity (-)
-                    ! input: forcing
-                    LWRadAtm,                          & ! intent(in): downwelling longwave radiation at the upper boundary (W m-2)
-                    ! output: emitted radiation from the canopy and ground
-                    scalarLWRadCanopy,                 & ! intent(out): longwave radiation emitted from the canopy (W m-2)
-                    scalarLWRadGround,                 & ! intent(out): longwave radiation emitted at the ground surface (W m-2)
-                    ! output: individual fluxes
-                    scalarLWRadUbound2Canopy,          & ! intent(out): downward atmospheric longwave radiation absorbed by the canopy (W m-2)
-                    scalarLWRadUbound2Ground,          & ! intent(out): downward atmospheric longwave radiation absorbed by the ground (W m-2)
-                    scalarLWRadUbound2Ubound,          & ! intent(out): atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
-                    scalarLWRadCanopy2Ubound,          & ! intent(out): longwave radiation emitted from canopy lost thru upper boundary (W m-2)
-                    scalarLWRadCanopy2Ground,          & ! intent(out): longwave radiation emitted from canopy absorbed by the ground (W m-2)
-                    scalarLWRadCanopy2Canopy,          & ! intent(out): canopy longwave reflected from ground and absorbed by the canopy (W m-2)
-                    scalarLWRadGround2Ubound,          & ! intent(out): longwave radiation emitted from ground lost thru upper boundary (W m-2)
-                    scalarLWRadGround2Canopy,          & ! intent(out): longwave radiation emitted from ground and absorbed by the canopy (W m-2)
-                    ! output: net fluxes
-                    scalarLWNetCanopy,                 & ! intent(out): net longwave radiation at the canopy (W m-2)
-                    scalarLWNetGround,                 & ! intent(out): net longwave radiation at the ground surface (W m-2)
-                    scalarLWNetUbound,                 & ! intent(out): net longwave radiation at the upper boundary (W m-2)
-                    ! output: flux derivatives
-                    dLWNetCanopy_dTCanopy,             & ! intent(out): derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
-                    dLWNetGround_dTGround,             & ! intent(out): derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
-                    dLWNetCanopy_dTGround,             & ! intent(out): derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
-                    dLWNetGround_dTCanopy,             & ! intent(out): derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
-                    ! output: error control
-                    err,cmessage                       ) ! intent(out): error control
-   if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-   !print*, 'dLWNetCanopy_dTGround = ', dLWNetCanopy_dTGround
-
-
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! ***** TURBULENT HEAT FLUXES  **************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-
-   ! check the need to compute numerical derivatives
-   if(ix_fDerivMeth == numerical)then
-    nFlux=5  ! compute the derivatives using one-sided finite differences
-   else
-    nFlux=1  ! compute analytical derivatives
-   end if
-
-   ! either one or multiple flux calls, depending on if using analytical or numerical derivatives
-   do itry=nFlux,1,-1  ! (work backwards to ensure all computed fluxes come from the un-perturbed case)
-
-    ! -------------------------------------------------------------------------------------
-    ! state perturbations for numerical deriavtives with one-sided finite differences
-    ! note: no perturbations performed using analytical derivatives (nFlux=1)
-    ! -------------------------------------------------------------------------------------
-
-    ! identify the type of perturbation
-    select case(itry)
-
-     ! un-perturbed case
-     case(unperturbed)
-      groundTemp        = groundTempTrial
-      canopyTemp        = canopyTempTrial
-      canairTemp        = canairTempTrial
-      canopyWetFraction = scalarCanopyWetFraction
-
-     ! perturb ground temperature
-     case(perturbStateGround)
-      groundTemp        = groundTempTrial + dx
-      canopyTemp        = canopyTempTrial
-      canairTemp        = canairTempTrial
-      canopyWetFraction = scalarCanopyWetFraction
-
-     ! perturb canopy temperature
-     case(perturbStateCanopy)
-      groundTemp        = groundTempTrial
-      canopyTemp        = canopyTempTrial + dx
-      canairTemp        = canairTempTrial
-      canopyWetFraction = scalarCanopyWetFraction
-
-     ! perturb canopy air temperature
-     case(perturbStateCanair)
-      groundTemp        = groundTempTrial
-      canopyTemp        = canopyTempTrial
-      canairTemp        = canairTempTrial + dx
-      canopyWetFraction = scalarCanopyWetFraction
-
-     ! perturb canopy liquid water content
-     case(perturbStateCanLiq)
-      groundTemp        = groundTempTrial
-      canopyTemp        = canopyTempTrial
-      canairTemp        = canairTempTrial
-
-      ! perturbations in canopy liquid water content affect canopy wetted fraction
-      if(computeVegFlux)then
-       call wettedFrac(&
-                       ! input
-                       .false.,                                        & ! flag to denote if derivative is desired
-                       (ix_fDerivMeth == numerical),                   & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
-                       (scalarLatHeatSubVapCanopy > LH_vap+verySmall), & ! flag to denote if the canopy is frozen
-                       dCanLiq_dTcanopy,                               & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
-                       fracLiquidCanopy,                               & ! fraction of liquid water on the canopy (-)
-                       canopyLiqTrial+dx,                              & ! canopy liquid water (kg m-2)
-                       canopyIceTrial,                                 & ! canopy ice (kg m-2)
-                       scalarCanopyLiqMax,                             & ! maximum canopy liquid water (kg m-2)
-                       scalarCanopyIceMax,                             & ! maximum canopy ice content (kg m-2)
-                       canopyWettingFactor,                            & ! maximum wetted fraction of the canopy (-)
-                       canopyWettingExp,                               & ! exponent in canopy wetting function (-)
-                       ! output
-                       canopyWetFraction,                              & ! canopy wetted fraction (-)
-                       dCanopyWetFraction_dWat,                        & ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
-                       dCanopyWetFraction_dT,                          & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
-                       err,cmessage)
+                       err,cmessage                        ) ! intent(out): error control
        if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-      else
-       canopyWetFraction = 0._dp
-      end if
-      !print*, 'wetted fraction derivative = ', (canopyWetFraction - scalarCanopyWetFraction)/dx
-      !pause
-
-     ! check for an unknown perturbation
-     case default; err=10; message=trim(message)//"unknown perturbation"; return
-
-    end select ! (type of perturbation)
-
-    ! compute the saturation vapor pressure for vegetation temperature
-    ! NOTE: saturated vapor pressure derivatives don't seem that accurate....
-    TV_celcius = canopyTemp - Tfreeze
-    call satVapPress(TV_celcius, scalarSatVP_CanopyTemp, dSVPCanopy_dCanopyTemp)
-
-    ! compute the saturation vapor pressure for ground temperature
-    ! NOTE: saturated vapor pressure derivatives don't seem that accurate....
-    TG_celcius = groundTemp - Tfreeze
-    call satVapPress(TG_celcius, scalarSatVP_GroundTemp, dSVPGround_dGroundTemp)
-
-    ! -------------------------------------------------------------------------------------
-    ! calculation block (unperturbed fluxes returned [computed last])
-    ! -------------------------------------------------------------------------------------
-
-    ! re-compute aerodynamic resistances for perturbed cases
-    ! NOTE: unperturbed fluxes computed earlier, and not over-written
-    if(itry /= unperturbed)then
-     call aeroResist(&
-                     ! input: model control
-                     computeVegFlux,                          & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
-                     .false.,                                 & ! intent(in): logical flag if would like to compute analytical derivaties
-                     ix_veg_traits,                           & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
-                     ix_windPrfile,                           & ! intent(in): choice of canopy wind profile
-                     ix_astability,                           & ! intent(in): choice of stability function
-                     ! input: above-canopy forcing data
-                     mHeight,                                 & ! intent(in): measurement height (m)
-                     airtemp,                                 & ! intent(in): air temperature at some height above the surface (K)
-                     windspd,                                 & ! intent(in): wind speed at some height above the surface (m s-1)
-                     ! input: temperature (canopy, ground, canopy air space)
-                     canairTemp,                              & ! intent(in): temperature of the canopy air space (K)
-                     groundTemp,                              & ! intent(in): ground temperature (K)
-                     ! input: diagnostic variables
-                     exposedVAI,                              & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
-                     scalarSnowDepth,                         & ! intent(in): snow depth (m)
-                     ! input: parameters
-                     z0Ground,                                & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
-                     z0CanopyParam,                           & ! intent(in): roughness length of the canopy (m)
-                     zpdFraction,                             & ! intent(in): zero plane displacement / canopy height (-)
-                     critRichNumber,                          & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
-                     Louis79_bparam,                          & ! intent(in): parameter in Louis (1979) stability function
-                     Mahrt87_eScale,                          & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
-                     windReductionParam,                      & ! intent(in): canopy wind reduction parameter (-)
-                     leafExchangeCoeff,                       & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
-                     leafDimension,                           & ! intent(in): characteristic leaf dimension (m)
-                     heightCanopyTop,                         & ! intent(in): height at the top of the vegetation canopy (m)
-                     heightCanopyBottom,                      & ! intent(in): height at the bottom of the vegetation canopy (m)
-                     ! output: stability corrections
-                     notUsed_RiBulkCanopy,                    & ! intent(out): bulk Richardson number for the canopy (-)
-                     notUsed_RiBulkGround,                    & ! intent(out): bulk Richardson number for the ground surface (-)
-                     notUsed_scalarCanopyStabilityCorrection, & ! intent(out): stability correction for the canopy (-)
-                     notUsed_scalarGroundStabilityCorrection, & ! intent(out): stability correction for the ground surface (-)
-                     ! output: scalar resistances
-                     notUsed_z0Canopy,                        & ! intent(out): roughness length of the canopy (m)
-                     notUsed_WindReductionFactor,             & ! intent(out): canopy wind reduction factor (-)
-                     notUsed_ZeroPlaneDisplacement,           & ! intent(out): zero plane displacement (m)
-                     notUsed_EddyDiffusCanopyTop,             & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
-                     notUsed_FrictionVelocity,                & ! intent(out): friction velocity (m s-1)
-                     notUsed_WindspdCanopyTop,                & ! intent(out): windspeed at the top of the canopy (m s-1)
-                     notUsed_WindspdCanopyBottom,             & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
-                     trialLeafResistance,                     & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
-                     trialGroundResistance,                   & ! intent(out): below canopy aerodynamic resistance (s m-1)
-                     trialCanopyResistance,                   & ! intent(out): above canopy aerodynamic resistance (s m-1)
-                     ! output: derivatives in scalar resistances
-                     notUsed_dGroundResistance_dTGround,      & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
-                     notUsed_dGroundResistance_dTCanopy,      & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
-                     notUsed_dGroundResistance_dTCanair,      & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
-                     notUsed_dCanopyResistance_dTCanopy,      & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
-                     notUsed_dCanopyResistance_dTCanair,      & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-                     ! output: error control
-                     err,cmessage                             ) ! intent(out): error control
-     if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-
-    ! assign scalar resistances for un-perturbed cases
-    else
-
-     trialLeafResistance   = scalarLeafResistance
-     trialGroundResistance = scalarGroundResistance
-     trialCanopyResistance = scalarCanopyResistance
-
-    end if  ! (re-computing resistances for perturbed cases)
-    !print*, 'trialLeafResistance = ', trialLeafResistance
-    !print*, 'trialGroundResistance = ', trialGroundResistance
-    !print*, 'trialCanopyResistance = ', trialCanopyResistance
-
-    ! compute the relative humidity in the top soil layer and the resistance at the ground surface
-    ! NOTE: computations are based on start-of-step values, so only compute for the first flux call
-    if(firstFluxCall)then
-     ! (soil water evaporation factor [0-1])
-     soilEvapFactor = mLayerVolFracLiq(nSnow+1)/(theta_sat - theta_res)
-     ! (resistance from the soil [s m-1])
-     scalarSoilResistance = scalarGroundSnowFraction*1._dp + (1._dp - scalarGroundSnowFraction)*EXP(8.25_dp - 4.225_dp*soilEvapFactor)  ! Sellers (1992)
-     !scalarSoilResistance = scalarGroundSnowFraction*0._dp + (1._dp - scalarGroundSnowFraction)*exp(8.25_dp - 6.0_dp*soilEvapFactor)    ! Niu adjustment to decrease resitance for wet soil
-     ! (relative humidity in the soil pores [0-1])
-     if(mLayerMatricHead(1) > -1.e+6_dp)then  ! avoid problems with numerical precision when soil is very dry
-      soilRelHumidity_noSnow = exp( (mLayerMatricHead(1)*gravity) / (groundTemp*R_wv) )
-     else
-      soilRelHumidity_noSnow = 0._dp
-     end if ! (if matric head is very low)
-     scalarSoilRelHumidity  = scalarGroundSnowFraction*1._dp + (1._dp - scalarGroundSnowFraction)*soilRelHumidity_noSnow
-     !print*, 'mLayerMatricHead(1), scalarSoilRelHumidity = ', mLayerMatricHead(1), scalarSoilRelHumidity
-    end if  ! (if the first flux call)
-
-    ! compute turbulent heat fluxes
-    call turbFluxes(&
-                    ! input: model control
-                    computeVegFlux,                       & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
-                    ix_fDerivMeth,                        & ! intent(in): method used to calculate flux derivatives
-                    ! input: above-canopy forcing data
-                    airtemp,                              & ! intent(in): air temperature at some height above the surface (K)
-                    airpres,                              & ! intent(in): air pressure of the air above the vegetation canopy (Pa)
-                    scalarVPair,                          & ! intent(in): vapor pressure of the air above the vegetation canopy (Pa)
-                    ! input: latent heat of sublimation/vaporization
-                    scalarLatHeatSubVapCanopy,            & ! intent(in): latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
-                    scalarLatHeatSubVapGround,            & ! intent(in): latent heat of sublimation/vaporization for the ground surface (J kg-1)
-                    ! input: canopy/ground temperature and saturated vapor pressure
-                    canairTemp,                           & ! intent(in): temperature of the canopy air space (K)
-                    canopyTemp,                           & ! intent(in): canopy temperature (K)
-                    groundTemp,                           & ! intent(in): ground temperature (K)
-                    scalarSatVP_CanopyTemp,               & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
-                    scalarSatVP_GroundTemp,               & ! intent(in): saturation vapor pressure at the temperature of the ground (Pa)
-                    dSVPCanopy_dCanopyTemp,               & ! intent(in): derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
-                    dSVPGround_dGroundTemp,               & ! intent(in): derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
-                    ! input: diagnostic variables
-                    exposedVAI,                           & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
-                    canopyWetFraction,                    & ! intent(in): trial value for the fraction of canopy that is wet [0-1]
-                    dCanopyWetFraction_dWat,              & ! intent(in): derivative in the canopy wetted fraction w.r.t. total water content (kg-1 m-2)
-                    dCanopyWetFraction_dT,                & ! intent(in): derivative in wetted fraction w.r.t. canopy temperature (K-1)
-                    scalarCanopySunlitLAI,                & ! intent(in): sunlit leaf area (-)
-                    scalarCanopyShadedLAI,                & ! intent(in): shaded leaf area (-)
-                    scalarSoilRelHumidity,                & ! intent(in): relative humidity in the soil pores [0-1]
-                    scalarSoilResistance,                 & ! intent(in): resistance from the soil (s m-1)
-                    trialLeafResistance,                  & ! intent(in): mean leaf boundary layer resistance per unit leaf area (s m-1)
-                    trialGroundResistance,                & ! intent(in): below canopy aerodynamic resistance (s m-1)
-                    trialCanopyResistance,                & ! intent(in): above canopy aerodynamic resistance (s m-1)
-                    scalarStomResistSunlit,               & ! intent(in): stomatal resistance for sunlit leaves (s m-1)
-                    scalarStomResistShaded,               & ! intent(in): stomatal resistance for shaded leaves (s m-1)
-                    ! input: derivatives in scalar resistances
-                    dGroundResistance_dTGround,           & ! intent(in): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
-                    dGroundResistance_dTCanopy,           & ! intent(in): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
-                    dGroundResistance_dTCanair,           & ! intent(in): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
-                    dCanopyResistance_dTCanopy,           & ! intent(in): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
-                    dCanopyResistance_dTCanair,           & ! intent(in): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-                    ! output: conductances (used to check derivative calculations)
-                    scalarLeafConductance,                & ! intent(out): leaf conductance (m s-1)
-                    scalarCanopyConductance,              & ! intent(out): canopy conductance (m s-1)
-                    scalarGroundConductanceSH,            & ! intent(out): ground conductance for sensible heat (m s-1)
-                    scalarGroundConductanceLH,            & ! intent(out): ground conductance for latent heat -- includes soil resistance (m s-1)
-                    scalarEvapConductance,                & ! intent(out): conductance for evaporation (m s-1)
-                    scalarTransConductance,               & ! intent(out): conductance for transpiration (m s-1)
-                    scalarTotalConductanceSH,             & ! intent(out): total conductance for sensible heat (m s-1)
-                    scalarTotalConductanceLH,             & ! intent(out): total conductance for latent heat (m s-1)
-                    ! output: canopy air space variables
-                    scalarVP_CanopyAir,                   & ! intent(out): vapor pressure of the canopy air space (Pa)
-                    ! output: fluxes from the vegetation canopy
-                    scalarSenHeatCanopy,                  & ! intent(out): sensible heat flux from the canopy to the canopy air space (W m-2)
-                    scalarLatHeatCanopyEvap,              & ! intent(out): latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
-                    scalarLatHeatCanopyTrans,             & ! intent(out): latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
-                    ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
-                    scalarSenHeatGround,                  & ! intent(out): sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
-                    scalarLatHeatGround,                  & ! intent(out): latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
-                    ! output: total heat fluxes to the atmosphere
-                    scalarSenHeatTotal,                   & ! intent(out): total sensible heat flux to the atmosphere (W m-2)
-                    scalarLatHeatTotal,                   & ! intent(out): total latent heat flux to the atmosphere (W m-2)
-                    ! output: net fluxes
-                    turbFluxCanair,                       & ! intent(out): net turbulent heat fluxes at the canopy air space (W m-2)
-                    turbFluxCanopy,                       & ! intent(out): net turbulent heat fluxes at the canopy (W m-2)
-                    turbFluxGround,                       & ! intent(out): net turbulent heat fluxes at the ground surface (W m-2)
-                    ! output: energy flux derivatives
-                    dTurbFluxCanair_dTCanair,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
-                    dTurbFluxCanair_dTCanopy,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
-                    dTurbFluxCanair_dTGround,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
-                    dTurbFluxCanopy_dTCanair,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-                    dTurbFluxCanopy_dTCanopy,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-                    dTurbFluxCanopy_dTGround,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-                    dTurbFluxGround_dTCanair,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-                    dTurbFluxGround_dTCanopy,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-                    dTurbFluxGround_dTGround,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-                    ! output: liquid flux derivatives (canopy evap)
-                    dLatHeatCanopyEvap_dCanLiq,           & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (W kg-1)
-                    dLatHeatCanopyEvap_dTCanair,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
-                    dLatHeatCanopyEvap_dTCanopy,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
-                    dLatHeatCanopyEvap_dTGround,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
-                    ! output: liquid flux derivatives (ground evap)
-                    dLatHeatGroundEvap_dCanLiq,           & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
-                    dLatHeatGroundEvap_dTCanair,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy air temperature
-                    dLatHeatGroundEvap_dTCanopy,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy temperature
-                    dLatHeatGroundEvap_dTGround,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. ground temperature
-                    ! output: cross derivatives
-                    dTurbFluxCanair_dCanLiq,              & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                    dTurbFluxCanopy_dCanLiq,              & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                    dTurbFluxGround_dCanLiq,              & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                    ! output: error control
-                    err,cmessage                          ) ! intent(out): error control
-    if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-    !write(*,'(a,f25.15)') 'scalarSenHeatTotal = ', scalarSenHeatTotal
-    !write(*,'(a,f25.15)') 'scalarSenHeatCanopy = ', scalarSenHeatCanopy
-    !write(*,'(a,f25.15)') 'scalarLatHeatCanopyEvap = ', scalarLatHeatCanopyEvap
-    !write(*,'(a,f25.15)') 'scalarLatHeatCanopyTrans = ', scalarLatHeatCanopyTrans
-
-    ! print*, 'scalarSenHeatGround = ', scalarSenHeatGround
-    ! print*, 'scalarLatHeatGround = ', scalarLatHeatGround
-
-    !notUsed_scalarCanopyStabilityCorrection  ! stability correction for the canopy (-)
-    !notUsed_scalarGroundStabilityCorrection  ! stability correction for the ground surface (-)
-    !notUsed_EddyDiffusCanopyTop              ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
-    !notUsed_FrictionVelocity                 ! friction velocity (m s-1)
-    !notUsed_WindspdCanopyTop                 ! windspeed at the top of the canopy (m s-1)
-    !notUsed_WindspdCanopyBottom              ! windspeed at the height of the bottom of the canopy (m s-1)
-    !trialLeafResistance                      ! mean leaf boundary layer resistance per unit leaf area (s m-1)
-    !trialGroundResistance                    ! below canopy aerodynamic resistance (s m-1)
-    !trialCanopyResistance                    ! above canopy aerodynamic resistance (s m-1)
-
-    ! save perturbed fluxes
-    if(ix_fDerivMeth == numerical)then
-     select case(itry) ! (select type of perturbation)
-      case(unperturbed)
-       try0 = turbFluxGround
-       exit
-      case(perturbStateCanair)
-       turbFluxCanair_dStateCanair = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
-       turbFluxCanopy_dStateCanair = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
-       turbFluxGround_dStateCanair = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
-       latHeatCanEvap_dStateCanair = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
-      case(perturbStateCanopy)
-       turbFluxCanair_dStateCanopy = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
-       turbFluxCanopy_dStateCanopy = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
-       turbFluxGround_dStateCanopy = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
-       latHeatCanEvap_dStateCanopy = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
-      case(perturbStateGround)
-       try1 = turbFluxGround
-       turbFluxCanair_dStateGround = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
-       turbFluxCanopy_dStateGround = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
-       turbFluxGround_dStateGround = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
-       latHeatCanEvap_dStateGround = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
-      case(perturbStateCanLiq)
-       turbFluxCanair_dStateCanliq = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
-       turbFluxCanopy_dStateCanLiq = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
-       turbFluxGround_dStateCanLiq = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
-       latHeatCanEvap_dStateCanliq = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
-      case default; err=10; message=trim(message)//"unknown perturbation"; return
-     end select ! (type of perturbation)
-    end if ! (if numerical)
-
-   end do  ! (looping through different flux perturbations)
-
-   ! test derivative
-   !if(ix_fDerivMeth == numerical)  print*, 'try0, try1 = ', try0, try1
-   !if(ix_fDerivMeth == numerical)  print*, 'derivative = ', (ix_fDerivMeth == numerical), (try1 - try0)/dx
-   !if(ix_fDerivMeth == analytical) print*, 'derivative = ', (ix_fDerivMeth == numerical), dTurbFluxGround_dTGround
-   !pause
-
-   ! compute numerical derivatives
-   if(ix_fDerivMeth == numerical)then
-    ! derivatives w.r.t. canopy air temperature
-    dTurbFluxCanair_dTCanair    = (turbFluxCanair_dStateCanair - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
-    dTurbFluxCanopy_dTCanair    = (turbFluxCanopy_dStateCanair - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-    dTurbFluxGround_dTCanair    = (turbFluxGround_dStateCanair - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-    dLatHeatCanopyEvap_dTCanair = (latHeatCanEvap_dStateCanair - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
-    ! derivatives w.r.t. canopy temperature
-    dTurbFluxCanair_dTCanopy    = (turbFluxCanair_dStateCanopy - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
-    dTurbFluxCanopy_dTCanopy    = (turbFluxCanopy_dStateCanopy - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-    dTurbFluxGround_dTCanopy    = (turbFluxGround_dStateCanopy - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-    dLatHeatCanopyEvap_dTCanopy = (latHeatCanEvap_dStateCanopy - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
-    ! derivatives w.r.t. ground temperature
-    dTurbFluxCanair_dTGround    = (turbFluxCanair_dStateGround - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
-    dTurbFluxCanopy_dTGround    = (turbFluxCanopy_dStateGround - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-    dTurbFluxGround_dTGround    = (turbFluxGround_dStateGround - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-    dLatHeatCanopyEvap_dTGround = (latHeatCanEvap_dStateGround - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
-    ! derivatives w.r.t. canopy liquid water content
-    dTurbFluxCanair_dCanLiq    = (turbFluxCanair_dStateCanliq  - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-    dTurbFluxCanopy_dCanLiq    = (turbFluxCanopy_dStateCanLiq  - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-    dTurbFluxGround_dCanLiq    = (turbFluxGround_dStateCanLiq  - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-    dLatHeatCanopyEvap_dCanLiq = (latHeatCanEvap_dStateCanliq  - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
-   end if
-   !if(heightCanopyBottom < scalarSnowDepth+z0Ground) pause 'bottom of the canopy is covered'
-
-   ! test
-   !print*, (ix_fDerivMeth == numerical)
-   !print*, 'dTurbFluxCanair_dTCanair = ', dTurbFluxCanair_dTCanair
-   !print*, 'dTurbFluxCanair_dTCanopy = ', dTurbFluxCanair_dTCanopy
-   !print*, 'dTurbFluxCanair_dTGround = ', dTurbFluxCanair_dTGround
-   !print*, 'dTurbFluxCanopy_dTCanair = ', dTurbFluxCanopy_dTCanair
-   !print*, 'dTurbFluxCanopy_dTCanopy = ', dTurbFluxCanopy_dTCanopy
-   !print*, 'dTurbFluxCanopy_dTGround = ', dTurbFluxCanopy_dTGround
-   !print*, 'dTurbFluxGround_dTCanair = ', dTurbFluxGround_dTCanair
-   !print*, 'dTurbFluxGround_dTCanopy = ', dTurbFluxGround_dTCanopy
-   !print*, 'dTurbFluxGround_dTGround = ', dTurbFluxGround_dTGround
-   !print*, 'dLatHeatCanopyEvap_dCanLiq = ', dLatHeatCanopyEvap_dCanLiq
-   !print*, 'dLatHeatCanopyEvap_dTCanair = ', dLatHeatCanopyEvap_dTCanair
-   !print*, 'dLatHeatCanopyEvap_dTCanopy = ', dLatHeatCanopyEvap_dTCanopy
-   !print*, 'dLatHeatCanopyEvap_dTGround = ', dLatHeatCanopyEvap_dTGround
-   !print*, 'dTurbFluxCanair_dCanLiq = ', dTurbFluxCanair_dCanLiq
-   !print*, 'dTurbFluxCanopy_dCanLiq = ', dTurbFluxCanopy_dCanLiq
-   !print*, 'dTurbFluxGround_dCanLiq = ', dTurbFluxGround_dCanLiq
-   !print*, '*****'
-   !pause
-
-   !print*, 'scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow, canopyTempTrial, scalarTwetbulb = ', &
-   !         scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow, canopyTempTrial, scalarTwetbulb
-
-   ! compute the heat advected with precipitation (W m-2)
-   ! NOTE: fluxes are in kg m-2 s-1, so no need to use density of water/ice here
-   scalarCanopyAdvectiveHeatFlux = -Cp_water*(scalarRainfall - scalarThroughfallRain)*(canopyTempTrial - scalarTwetbulb) + &
-                                   (-Cp_ice)*(scalarSnowfall - scalarThroughfallSnow)*(canopyTempTrial - scalarTwetbulb)
-   scalarGroundAdvectiveHeatFlux = -Cp_water*scalarThroughfallRain*(groundTempTrial - scalarTwetbulb)         + &
-                                   (-Cp_ice)*scalarThroughfallSnow*(groundTempTrial - scalarTwetbulb)         !+ &
-   !                                -Cp_water*scalarCanopyLiqDrainage  *(groundTempTrial - canopyTempTrial) + &
-   !                                -Cp_ice  *scalarCanopySnowUnloading*(groundTempTrial - canopyTempTrial)
-   !print*, 'scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow = ', scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow
-   !print*, 'scalarCanopyAdvectiveHeatFlux, scalarGroundAdvectiveHeatFlux = ', scalarCanopyAdvectiveHeatFlux, scalarGroundAdvectiveHeatFlux
-
-   ! compute the mass flux associated with transpiration and evaporation/sublimation (J m-2 s-1 --> kg m-2 s-1)
-   ! NOTE: remove water from the snow on the ground in preference to removing water from the water in soil pores
-   !print*, 'scalarLatHeatCanopyTrans = ', scalarLatHeatCanopyTrans
-   !print*, 'scalarLatHeatGround      = ', scalarLatHeatGround
-   ! (canopy transpiration/sublimation)
-   if(scalarLatHeatSubVapCanopy > LH_vap+verySmall)then ! sublimation
-    scalarCanopyEvaporation = 0._dp
-    scalarCanopySublimation = scalarLatHeatCanopyEvap/LH_sub
-    if(scalarLatHeatCanopyTrans > 0._dp)then ! flux directed towards the veg
-     scalarCanopySublimation   = scalarCanopySublimation + scalarLatHeatCanopyTrans/LH_sub ! frost
-     scalarCanopyTranspiration = 0._dp
-    else
-     scalarCanopyTranspiration = scalarLatHeatCanopyTrans/LH_vap  ! transpiration is always vapor
-    end if
-   ! (canopy transpiration/evaporation)
-   else                                                 ! evaporation
-    scalarCanopyEvaporation = scalarLatHeatCanopyEvap/LH_vap
-    scalarCanopySublimation = 0._dp
-    if(scalarLatHeatCanopyTrans > 0._dp)then ! flux directed towards the veg
-     scalarCanopyEvaporation   = scalarCanopyEvaporation + scalarLatHeatCanopyTrans/LH_vap
-     scalarCanopyTranspiration = 0._dp
-    else
-     scalarCanopyTranspiration = scalarLatHeatCanopyTrans/LH_vap
-    end if
-   end if
-   ! (ground evaporation/sublimation)
-   if(scalarLatHeatSubVapGround > LH_vap+verySmall)then ! sublimation
-    ! NOTE: this should only occur when we have formed snow layers, so check
-    if(nSnow == 0)then; err=20; message=trim(message)//'only expect snow sublimation when we have formed some snow layers'; return; end if
-    scalarGroundEvaporation = 0._dp  ! ground evaporation is zero once the snowpack has formed
-    scalarSnowSublimation   = scalarLatHeatGround/LH_sub
-   else
-    ! NOTE: this should only occur when we have no snow layers, so check
-    if(nSnow > 0)then; err=20; message=trim(message)//'only expect ground evaporation when there are no snow layers'; return; end if
-    scalarGroundEvaporation = scalarLatHeatGround/LH_vap
-    scalarSnowSublimation   = 0._dp  ! no sublimation from snow if no snow layers have formed
-   end if
-  !  print*, 'nsnow = ', nsnow
-  !  print*, 'scalarSnowSublimation, scalarLatHeatGround = ', scalarSnowSublimation, scalarLatHeatGround
-  !  print*, 'canopyWetFraction, scalarCanopyEvaporation = ', canopyWetFraction, scalarCanopyEvaporation
-
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! ***** AND STITCH EVERYTHING TOGETHER  *****************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-   ! *******************************************************************************************************************************************************************
-
-   ! compute derived fluxes
-   scalarTotalET      = scalarGroundEvaporation + scalarCanopyEvaporation + scalarCanopyTranspiration
-   scalarNetRadiation = scalarCanopyAbsorbedSolar + scalarLWNetCanopy + scalarGroundAbsorbedSolar + scalarLWNetGround
-
-   ! compute net fluxes at the canopy and ground surface
-   canairNetFlux = turbFluxCanair
-   canopyNetFlux = scalarCanopyAbsorbedSolar + scalarLWNetCanopy + turbFluxCanopy + scalarCanopyAdvectiveHeatFlux
-   groundNetFlux = scalarGroundAbsorbedSolar + scalarLWNetGround + turbFluxGround + scalarGroundAdvectiveHeatFlux
-   !write(*,'(a,1x,10(e17.10,1x))') 'canopyNetFlux, groundNetFlux,  scalarLWNetCanopy, turbFluxCanopy, turbFluxGround, scalarLWNetGround, scalarCanopyAdvectiveHeatFlux = ', &
-   !                                 canopyNetFlux, groundNetFlux,  scalarLWNetCanopy, turbFluxCanopy, turbFluxGround, scalarLWNetGround, scalarCanopyAdvectiveHeatFlux
-   !write(*,'(a,1x,10(e20.14,1x))') 'groundNetFlux, scalarGroundAbsorbedSolar,  scalarLWNetGround, turbFluxGround, scalarGroundAdvectiveHeatFlux = ', &
-   !                                 groundNetFlux, scalarGroundAbsorbedSolar,  scalarLWNetGround, turbFluxGround, scalarGroundAdvectiveHeatFlux
-
-   ! compute the energy derivatives
-   dCanairNetFlux_dCanairTemp = dTurbFluxCanair_dTCanair
-   dCanairNetFlux_dCanopyTemp = dTurbFluxCanair_dTCanopy
-   dCanairNetFlux_dGroundTemp = dTurbFluxCanair_dTGround
-   dCanopyNetFlux_dCanairTemp = dTurbFluxCanopy_dTCanair
-   dCanopyNetFlux_dCanopyTemp = dLWNetCanopy_dTCanopy + dTurbFluxCanopy_dTCanopy - Cp_water*(scalarRainfall - scalarThroughfallRain) - Cp_ice*(scalarSnowfall - scalarThroughfallSnow)
-   dCanopyNetFlux_dGroundTemp = dLWNetCanopy_dTGround + dTurbFluxCanopy_dTGround
-   dGroundNetFlux_dCanairTemp = dTurbFluxGround_dTCanair
-   dGroundNetFlux_dCanopyTemp = dLWNetGround_dTCanopy + dTurbFluxGround_dTCanopy
-   dGroundNetFlux_dGroundTemp = dLWNetGround_dTGround + dTurbFluxGround_dTGround - Cp_water*scalarThroughfallRain - Cp_ice*scalarThroughfallSnow
-
-   ! check if evaporation or sublimation
-   if(scalarLatHeatSubVapCanopy < LH_vap+verySmall)then ! evaporation
-
-    ! compute the liquid water derivarives
-    dCanopyEvaporation_dCanLiq  = dLatHeatCanopyEvap_dCanLiq/LH_vap    ! (s-1)
-    dCanopyEvaporation_dTCanair = dLatHeatCanopyEvap_dTCanair/LH_vap   ! (kg m-2 s-1 K-1)
-    dCanopyEvaporation_dTCanopy = dLatHeatCanopyEvap_dTCanopy/LH_vap   ! (kg m-2 s-1 K-1)
-    dCanopyEvaporation_dTGround = dLatHeatCanopyEvap_dTGround/LH_vap   ! (kg m-2 s-1 K-1)
-
-   ! sublimation
-   else
-    dCanopyEvaporation_dCanLiq  = 0._dp  ! (s-1)
-    dCanopyEvaporation_dTCanair = 0._dp  ! (kg m-2 s-1 K-1)
-    dCanopyEvaporation_dTCanopy = 0._dp  ! (kg m-2 s-1 K-1)
-    dCanopyEvaporation_dTGround = 0._dp  ! (kg m-2 s-1 K-1)
-   end if
-
-   ! compute the liquid water derivarives (ground evap)
-   dGroundEvaporation_dCanLiq  = dLatHeatGroundEvap_dCanLiq/LH_vap    ! (s-1)
-   dGroundEvaporation_dTCanair = dLatHeatGroundEvap_dTCanair/LH_vap   ! (kg m-2 s-1 K-1)
-   dGroundEvaporation_dTCanopy = dLatHeatGroundEvap_dTCanopy/LH_vap   ! (kg m-2 s-1 K-1)
-   dGroundEvaporation_dTGround = dLatHeatGroundEvap_dTGround/LH_vap   ! (kg m-2 s-1 K-1)
-
-   ! compute the cross derivative terms (only related to turbulent fluxes; specifically canopy evaporation and transpiration)
-   dCanopyNetFlux_dCanLiq = dTurbFluxCanopy_dCanLiq  ! derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-   dGroundNetFlux_dCanLiq = dTurbFluxGround_dCanLiq  ! derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-
-   !print*, (ix_fDerivMeth == numerical)
-   !print*, 'dGroundNetFlux_dCanairTemp = ', dGroundNetFlux_dCanairTemp
-   !print*, 'dCanopyNetFlux_dCanopyTemp = ', dCanopyNetFlux_dCanopyTemp
-   !print*, 'dGroundNetFlux_dCanopyTemp = ', dGroundNetFlux_dCanopyTemp
-   !print*, 'dCanopyNetFlux_dGroundTemp = ', dCanopyNetFlux_dGroundTemp
-   !print*, 'dGroundNetFlux_dGroundTemp = ', dGroundNetFlux_dGroundTemp
-   !print*, 'dLWNetCanopy_dTGround = ', dLWNetCanopy_dTGround
-   !print*, 'dTurbFluxCanopy_dTGround = ', dTurbFluxCanopy_dTGround
-   !pause
-
-  ! * check
-  case default; err=10; message=trim(message)//'unable to identify upper boundary condition for thermodynamics'; return
-
- ! end case statement
- end select ! upper boundary condition for thermodynamics
-
- ! return liquid fluxes (needed for coupling)
- returnCanopyTranspiration = scalarCanopyTranspiration    ! canopy transpiration (kg m-2 s-1)
- returnCanopyEvaporation   = scalarCanopyEvaporation      ! canopy evaporation/condensation (kg m-2 s-1)
- returnGroundEvaporation   = scalarGroundEvaporation      ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
-
- ! end associations
- end associate
-
-
- end subroutine vegNrgFlux
-
-
- ! *******************************************************************************************************
- ! public subroutine wettedFrac: compute wetted fraction of the canopy
- ! *******************************************************************************************************
- subroutine wettedFrac(&
-                       ! input
-                       deriv,                  & ! flag to denote if derivative is desired
-                       derNum,                 & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
-                       frozen,                 & ! flag to denote if the canopy is frozen
-                       dLiq_dT,                & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
-                       fracLiq,                & ! fraction of liquid water on the canopy (-)
-                       canopyLiq,              & ! canopy liquid water (kg m-2)
-                       canopyIce,              & ! canopy ice (kg m-2)
-                       canopyLiqMax,           & ! maximum canopy liquid water (kg m-2)
-                       canopyIceMax,           & ! maximum canopy ice content (kg m-2)
-                       canopyWettingFactor,    & ! maximum wetted fraction of the canopy (-)
-                       canopyWettingExp,       & ! exponent in canopy wetting function (-)
-                       ! output
-                       canopyWetFraction,      & ! canopy wetted fraction (-)
-                       dCanopyWetFraction_dWat,& ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
-                       dCanopyWetFraction_dT,  & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
-                       err,message)              ! error control
- implicit none
- ! input
- logical(lgt),intent(in)       :: deriv                   ! flag to denote if derivative is desired
- logical(lgt),intent(in)       :: derNum                  ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
- logical(lgt),intent(in)       :: frozen                  ! flag to denote if the canopy is frozen
- real(dp),intent(in)           :: dLiq_dT                 ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
- real(dp),intent(in)           :: fracLiq                 ! fraction of liquid water on the canopy (-)
- real(dp),intent(in)           :: canopyLiq               ! canopy liquid water (kg m-2)
- real(dp),intent(in)           :: canopyIce               ! canopy ice (kg m-2)
- real(dp),intent(in)           :: canopyLiqMax            ! maximum canopy liquid water (kg m-2)
- real(dp),intent(in)           :: canopyIceMax            ! maximum canopy ice content (kg m-2)
- real(dp),intent(in)           :: canopyWettingFactor     ! maximum wetted fraction of the canopy (-)
- real(dp),intent(in)           :: canopyWettingExp        ! exponent in canopy wetting function (-)
- ! output
- real(dp),intent(out)          :: canopyWetFraction       ! canopy wetted fraction (-)
- real(dp),intent(out)          :: dCanopyWetFraction_dWat ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
- real(dp),intent(out)          :: dCanopyWetFraction_dT   ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
- ! output: error control
- integer(i4b),intent(out)      :: err                     ! error code
- character(*),intent(out)      :: message                 ! error message
- ! local variables
- logical(lgt),parameter        :: smoothing=.true.        ! flag to denote that smoothing is required
- real(dp)                      :: canopyWetFractionPert   ! canopy wetted fraction after state perturbations (-)
- real(dp)                      :: canopyWetFractionDeriv  ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
- ! -----------------------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message='wettedFrac/'
-
- ! compute case where the canopy is frozen
- if(frozen)then
-  ! compute fraction of liquid water on the canopy
-  call wetFraction((deriv .and. .not.derNum),smoothing,canopyIce,canopyIceMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
-  ! compute numerical derivative, if derivative is desired
-  if(deriv.and.derNum)then
-   call wetFraction((deriv .and. .not.derNum),smoothing,canopyIce+dx,canopyIceMax,canopyWettingFactor,canopyWettingExp,canopyWetFractionPert,canopyWetFractionDeriv)
-   canopyWetFractionDeriv = (canopyWetFractionPert - canopyWetFraction)/dx
-  end if
-  ! scale derivative by the fraction of water
-  ! NOTE: dIce/dWat = (1._dp - fracLiq), hence dWet/dWat = dIce/dWat . dWet/dLiq
-  dCanopyWetFraction_dWat = canopyWetFractionDeriv*(1._dp - fracLiq)
-  dCanopyWetFraction_dT   = -canopyWetFractionDeriv*dLiq_dT  ! NOTE: dIce/dT = -dLiq/dT
-  return
- end if
-
- ! compute fraction of liquid water on the canopy
- ! NOTE: if(.not.deriv) canopyWetFractionDeriv = 0._dp
- call wetFraction((deriv .and. .not.derNum),smoothing,canopyLiq,canopyLiqMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
-
- ! compute numerical derivative
- if(deriv.and.derNum)then
-  call wetFraction((deriv .and. .not.derNum),smoothing,canopyLiq+dx,canopyLiqMax,canopyWettingFactor,canopyWettingExp,canopyWetFractionPert,canopyWetFractionDeriv)
-  canopyWetFractionDeriv = (canopyWetFractionPert - canopyWetFraction)/dx
- end if
-
- ! scale derivative by the fraction of water
- ! NOTE: dLiq/dWat = fracLiq, hence dWet/dWat = dLiq/dWat . dWet/dLiq
- dCanopyWetFraction_dWat = canopyWetFractionDeriv*fracLiq
- dCanopyWetFraction_dT   = canopyWetFractionDeriv*dLiq_dT
-
- ! test
- !write(*,'(a,1x,2(L1,1x),10(f20.10,1x))') 'deriv, derNum, canopyWetFraction, canopyWetFractionDeriv = ', deriv, derNum, canopyWetFraction, canopyWetFractionDeriv
- !if(deriv) pause 'testing canopy wet fraction'
-
- end subroutine wettedFrac
-
-
- ! *******************************************************************************************************
- ! private subroutine wetFraction: compute fraction of canopy covered with liquid water
- ! *******************************************************************************************************
- subroutine wetFraction(derDesire,smoothing,canopyLiq,canopyMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
- implicit none
- ! dummy variables
- logical(lgt),intent(in) :: derDesire              ! flag to denote if analytical derivatives are desired
- logical(lgt),intent(in) :: smoothing              ! flag to denote if smoothing is required
- real(dp),intent(in)     :: canopyLiq              ! liquid water content (kg m-2)
- real(dp),intent(in)     :: canopyMax              ! liquid water content (kg m-2)
- real(dp),intent(in)     :: canopyWettingFactor    ! maximum wetted fraction of the canopy (-)
- real(dp),intent(in)     :: canopyWettingExp       ! exponent in canopy wetting function (-)
-
- real(dp),intent(out)    :: canopyWetFraction      ! canopy wetted fraction (-)
- real(dp),intent(out)    :: canopyWetFractionDeriv ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
- ! local variables
- real(dp)                :: relativeCanopyWater    ! water stored on vegetation canopy, expressed as a fraction of maximum storage (-)
- real(dp)                :: rawCanopyWetFraction   ! initial value of the canopy wet fraction (before smoothing)
- real(dp)                :: rawWetFractionDeriv    ! derivative in canopy wet fraction w.r.t. storage (kg-1 m2)
- real(dp)                :: smoothFunc             ! smoothing function used to improve numerical stability at times with limited water storage (-)
- real(dp)                :: smoothFuncDeriv        ! derivative in the smoothing function w.r.t.canopy storage (kg-1 m2)
- real(dp)                :: verySmall=epsilon(1._dp) ! a very small number
- ! --------------------------------------------------------------------------------------------------------------
-
- ! compute relative canopy water
- relativeCanopyWater = canopyLiq/canopyMax
- !write(*,'(a,1x,e20.10,1x,2(f20.10,1x))') 'relativeCanopyWater, canopyLiq, canopyMax = ', relativeCanopyWater, canopyLiq, canopyMax
-
- ! compute an initial value of the canopy wet fraction
- ! - canopy below value where canopy is 100% wet
- if(relativeCanopyWater < 1._dp)then
-  rawCanopyWetFraction = canopyWettingFactor*(relativeCanopyWater**canopyWettingExp)
-  if(derDesire .and. relativeCanopyWater>verySmall)then
-   rawWetFractionDeriv = (canopyWettingFactor*canopyWettingExp/canopyMax)*relativeCanopyWater**(canopyWettingExp - 1._dp)
-  else
-   rawWetFractionDeriv = 0._dp
-  end if
-
- ! - canopy is at capacity (canopyWettingFactor)
- else
-  rawCanopyWetFraction = canopyWettingFactor
-  rawWetFractionDeriv  = 0._dp
- end if
-
- ! smooth canopy wetted fraction
- if(smoothing)then
-  call logisticSmoother(derDesire,canopyLiq,smoothFunc,smoothFuncDeriv)
-  canopyWetFraction = rawCanopyWetFraction*smoothFunc  ! logistic smoother
- else
-  canopyWetFraction      = rawCanopyWetFraction
-  canopyWetFractionDeriv = rawWetFractionDeriv
- end if
-
- ! compute derivative (product rule)
- if(derDesire .and. smoothing)then  ! NOTE: raw derivative is used if not smoothing
-  canopyWetFractionDeriv = rawWetFractionDeriv*smoothFunc + rawCanopyWetFraction*smoothFuncDeriv
- else
-  canopyWetFractionDeriv = 0._dp
- end if
-
- end subroutine wetFraction
-
-
- ! *******************************************************************************************************
- ! private subroutine logisticSmoother: compute the smoothing function
- ! *******************************************************************************************************
- subroutine logisticSmoother(derDesire,canopyLiq,smoothFunc,smoothFuncDeriv)
- implicit none
- ! dummy variables
- logical(lgt),intent(in) :: derDesire              ! flag to denote if analytical derivatives are desired
- real(dp),intent(in)     :: canopyLiq              ! liquid water content (kg m-2)
- real(dp),intent(out)    :: smoothFunc             ! smoothing function (-)
- real(dp),intent(out)    :: smoothFuncDeriv        ! derivative in smoothing function (kg-1 m-2)
- ! local variables
- real(dp)                :: xArg                   ! argument used in the smoothing function (-)
- real(dp)                :: expX                   ! exp(-xArg) -- used multiple times
- real(dp),parameter      :: smoothThresh=0.01_dp   ! mid-point of the smoothing function (kg m-2)
- real(dp),parameter      :: smoothScale=0.001_dp   ! scaling factor for the smoothing function (kg m-2)
- real(dp),parameter      :: xLimit=50._dp          ! don't compute exponents for > xLimit
- ! --------------------------------------------------------------------------------------------------------------
- ! compute argument in the smoothing function
- xArg = (canopyLiq - smoothThresh)/smoothScale
-
- ! only compute smoothing function for small exponents
- if(xArg > -xLimit .and. xArg < xLimit)then  ! avoid huge exponents
-  expX            = exp(-xarg)                                   ! (also used in the derivative)
-  smoothFunc      = 1._dp / (1._dp + expX)                       ! (logistic smoother)
-  if(derDesire)then
-   smoothFuncDeriv = expX / (smoothScale * (1._dp + expX)**2._dp) ! (derivative in the smoothing function)
-  else
-   smoothFuncDeriv = 0._dp
-  end if
-
- ! outside limits: special case of smooth exponents
- else
-  if(xArg < 0._dp)then; smoothFunc = 0._dp   ! xArg < -xLimit
-  else;                 smoothFunc = 1._dp   ! xArg >  xLimit
-  end if
-  smoothFuncDeriv = 0._dp
- end if  ! check for huge exponents
-
- end subroutine logisticSmoother
- ! --------------------------------------------------------------------------------------------------------------
-
-
- ! *******************************************************************************************************
- ! private subroutine longwaveBal: compute longwave radiation balance at the canopy and ground surface
- ! *******************************************************************************************************
- subroutine longwaveBal(&
+       !print*,         scalarLeafResistance,    & ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+       !                scalarGroundResistance,  & ! below canopy aerodynamic resistance (s m-1)
+       !                scalarCanopyResistance,  & ! above canopy aerodynamic resistance (s m-1)
+       !                '(leaf, ground, canopy)'
+    
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! ***** STOMATAL RESISTANCE *****************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+    
+       ! stomatal resistance is constant over the SUBSTEP
+       ! NOTE: This is a simplification, as stomatal resistance does depend on canopy temperature
+       !       This "short-cut" made because:
+       !         (1) computations are expensive;
+       !         (2) derivative calculations are rather complex (iterations within the Ball-Berry routine); and
+       !         (3) stomatal resistance does not change rapidly
+       if(firstFluxCall)then
+    
+        ! compute the saturation vapor pressure for vegetation temperature
+        TV_celcius = canopyTempTrial - Tfreeze
+        call satVapPress(TV_celcius, scalarSatVP_CanopyTemp, dSVPCanopy_dCanopyTemp)
+    
+        ! compute soil moisture factor controlling stomatal resistance
+        call soilResist(&
+                        ! input (model decisions)
+                        ix_soilStress,                     & ! intent(in): choice of function for the soil moisture control on stomatal resistance
+                        ix_groundwatr,                     & ! intent(in): groundwater parameterization
+                        ! input (state variables)
+                        mLayerMatricHead(1:nSoil),         & ! intent(in): matric head in each soil layer (m)
+                        mLayerVolFracLiq(nSnow+1:nLayers), & ! intent(in): volumetric fraction of liquid water in each soil layer (-)
+                        scalarAquiferStorage,              & ! intent(in): aquifer storage (m)
+                        ! input (diagnostic variables)
+                        mLayerRootDensity(1:nSoil),        & ! intent(in): root density in each layer (-)
+                        scalarAquiferRootFrac,             & ! intent(in): fraction of roots below the lowest soil layer (-)
+                        ! input (parameters)
+                        plantWiltPsi,                      & ! intent(in): matric head at wilting point (m)
+                        soilStressParam,                   & ! intent(in): parameter in the exponential soil stress function (-)
+                        critSoilWilting,                   & ! intent(in): critical vol. liq. water content when plants are wilting (-)
+                        critSoilTranspire,                 & ! intent(in): critical vol. liq. water content when transpiration is limited (-)
+                        critAquiferTranspire,              & ! intent(in): critical aquifer storage value when transpiration is limited (m)
+                        ! output
+                        scalarTranspireLim,                & ! intent(out): weighted average of the transpiration limiting factor (-)
+                        mLayerTranspireLim(1:nSoil),       & ! intent(out): transpiration limiting factor in each layer (-)
+                        scalarTranspireLimAqfr,            & ! intent(out): transpiration limiting factor for the aquifer (-)
+                        err,cmessage                       ) ! intent(out): error control
+        if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+        !print*, 'weighted average of the soil moiture factor controlling stomatal resistance (-) = ', scalarTranspireLim
+    
+        !write(*,'(a,1x,10(f20.10,1x))') 'canopyTempTrial, scalarSatVP_CanopyTemp, scalarVP_CanopyAir = ', &
+        !                                 canopyTempTrial, scalarSatVP_CanopyTemp, scalarVP_CanopyAir
+    
+        ! compute stomatal resistance
+        call stomResist(&
+                        ! input (state and diagnostic variables)
+                        canopyTempTrial,                   & ! intent(in): temperature of the vegetation canopy (K)
+                        scalarSatVP_CanopyTemp,            & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
+                        scalarVP_CanopyAir,                & ! intent(in): canopy air vapor pressure (Pa)
+                        ! input: data structures
+                        type_data,                         & ! intent(in):    type of vegetation and soil
+                        forc_data,                         & ! intent(in):    model forcing data
+                        mpar_data,                         & ! intent(in):    model parameters
+                        model_decisions,                   & ! intent(in):    model decisions
+                        ! input-output: data structures
+                        diag_data,                         & ! intent(inout): model diagnostic variables for a local HRU
+                        flux_data,                         & ! intent(inout): model fluxes for a local HRU
+                        ! output: error control
+                        err,cmessage                       ) ! intent(out): error control
+        if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+       end if  ! (if the first flux call in a given sub-step)
+    
+    
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! ***** LONGWAVE RADIATION  *****************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+    
+       ! compute canopy longwave radiation balance
+       call longwaveBal(&
                         ! input: model control
-                        ixDerivMethod,                  & ! intent(in): choice of method used to compute derivative (analytical or numerical)
-                        computeVegFlux,                 & ! intent(in): flag to compute fluxes over vegetation
+                        ixDerivMethod,                     & ! intent(in): method used to calculate flux derivatives
+                        computeVegFlux,                    & ! intent(in): flag to compute fluxes over vegetation
+                        requireLWBal,                      & ! intent(in): flag to indicate if we need longwave to be balanced
                         ! input: canopy and ground temperature
-                        canopyTemp,                     & ! intent(in): canopy temperature (K)
-                        groundTemp,                     & ! intent(in): ground temperature (K)
+                        canopyTempTrial,                   & ! intent(in): temperature of the vegetation canopy (K)
+                        groundTempTrial,                   & ! intent(in): temperature of the ground surface (K)
                         ! input: canopy and ground emissivity
-                        emc,                            & ! intent(in): canopy emissivity (-)
-                        emg,                            & ! intent(in): ground emissivity (-)
+                        scalarCanopyEmissivity,            & ! intent(in): canopy emissivity (-)
+                        groundEmissivity,                  & ! intent(in): ground emissivity (-)
                         ! input: forcing
-                        LWRadUbound,                    & ! intent(in): downwelling longwave radiation at the upper boundary (W m-2)
-                        ! output: sources
-                        LWRadCanopy,                    & ! intent(out): longwave radiation emitted from the canopy (W m-2)
-                        LWRadGround,                    & ! intent(out): longwave radiation emitted at the ground surface (W m-2)
+                        LWRadAtm,                          & ! intent(in): downwelling longwave radiation at the upper boundary (W m-2)
+                        ! output: emitted radiation from the canopy and ground
+                        scalarLWRadCanopy,                 & ! intent(out): longwave radiation emitted from the canopy (W m-2)
+                        scalarLWRadGround,                 & ! intent(out): longwave radiation emitted at the ground surface (W m-2)
                         ! output: individual fluxes
-                        LWRadUbound2Canopy,             & ! intent(out): downward atmospheric longwave radiation absorbed by the canopy (W m-2)
-                        LWRadUbound2Ground,             & ! intent(out): downward atmospheric longwave radiation absorbed by the ground (W m-2)
-                        LWRadUbound2Ubound,             & ! intent(out): atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
-                        LWRadCanopy2Ubound,             & ! intent(out): longwave radiation emitted from canopy lost thru upper boundary (W m-2)
-                        LWRadCanopy2Ground,             & ! intent(out): longwave radiation emitted from canopy absorbed by the ground (W m-2)
-                        LWRadCanopy2Canopy,             & ! intent(out): canopy longwave reflected from ground and absorbed by the canopy (W m-2)
-                        LWRadGround2Ubound,             & ! intent(out): longwave radiation emitted from ground lost thru upper boundary (W m-2)
-                        LWRadGround2Canopy,             & ! intent(out): longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+                        scalarLWRadUbound2Canopy,          & ! intent(out): downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+                        scalarLWRadUbound2Ground,          & ! intent(out): downward atmospheric longwave radiation absorbed by the ground (W m-2)
+                        scalarLWRadUbound2Ubound,          & ! intent(out): atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+                        scalarLWRadCanopy2Ubound,          & ! intent(out): longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+                        scalarLWRadCanopy2Ground,          & ! intent(out): longwave radiation emitted from canopy absorbed by the ground (W m-2)
+                        scalarLWRadCanopy2Canopy,          & ! intent(out): canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+                        scalarLWRadGround2Ubound,          & ! intent(out): longwave radiation emitted from ground lost thru upper boundary (W m-2)
+                        scalarLWRadGround2Canopy,          & ! intent(out): longwave radiation emitted from ground and absorbed by the canopy (W m-2)
                         ! output: net fluxes
-                        LWNetCanopy,                    & ! intent(out): net longwave radiation at the canopy (W m-2)
-                        LWNetGround,                    & ! intent(out): net longwave radiation at the ground surface (W m-2)
-                        LWNetUbound,                    & ! intent(out): net longwave radiation at the upper boundary (W m-2)
+                        scalarLWNetCanopy,                 & ! intent(out): net longwave radiation at the canopy (W m-2)
+                        scalarLWNetGround,                 & ! intent(out): net longwave radiation at the ground surface (W m-2)
+                        scalarLWNetUbound,                 & ! intent(out): net longwave radiation at the upper boundary (W m-2)
                         ! output: flux derivatives
-                        dLWNetCanopy_dTCanopy,          & ! intent(out): derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
-                        dLWNetGround_dTGround,          & ! intent(out): derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
-                        dLWNetCanopy_dTGround,          & ! intent(out): derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
-                        dLWNetGround_dTCanopy,          & ! intent(out): derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+                        dLWNetCanopy_dTCanopy,             & ! intent(out): derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+                        dLWNetGround_dTGround,             & ! intent(out): derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+                        dLWNetCanopy_dTGround,             & ! intent(out): derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+                        dLWNetGround_dTCanopy,             & ! intent(out): derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
                         ! output: error control
-                        err,message                     ) ! intent(out): error control
- ! -----------------------------------------------------------------------------------------------------------------------------------------------
- implicit none
- ! input: model control
- integer(i4b),intent(in)       :: ixDerivMethod            ! choice of method used to compute derivative (analytical or numerical)
- logical(lgt),intent(in)       :: computeVegFlux           ! flag to indicate if computing fluxes over vegetation
- ! input: canopy and ground temperature
- real(dp),intent(in)           :: canopyTemp               ! canopy temperature (K)
- real(dp),intent(in)           :: groundTemp               ! ground temperature (K)
- ! input: canopy and ground emissivity
- real(dp),intent(in)           :: emc                      ! canopy emissivity (-)
- real(dp),intent(in)           :: emg                      ! ground emissivity (-)
- ! input: forcing
- real(dp),intent(in)           :: LWRadUbound              ! downwelling longwave radiation at the upper boundary (W m-2)
- ! output: sources
- real(dp),intent(out)          :: LWRadCanopy              ! longwave radiation emitted from the canopy (W m-2)
- real(dp),intent(out)          :: LWRadGround              ! longwave radiation emitted at the ground surface (W m-2)
- ! output: individual fluxes
- real(dp),intent(out)          :: LWRadUbound2Canopy       ! downward atmospheric longwave radiation absorbed by the canopy (W m-2)
- real(dp),intent(out)          :: LWRadUbound2Ground       ! downward atmospheric longwave radiation absorbed by the ground (W m-2)
- real(dp),intent(out)          :: LWRadUbound2Ubound       ! atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
- real(dp),intent(out)          :: LWRadCanopy2Ubound       ! longwave radiation emitted from canopy lost thru upper boundary (W m-2)
- real(dp),intent(out)          :: LWRadCanopy2Ground       ! longwave radiation emitted from canopy absorbed by the ground (W m-2)
- real(dp),intent(out)          :: LWRadCanopy2Canopy       ! canopy longwave reflected from ground and absorbed by the canopy (W m-2)
- real(dp),intent(out)          :: LWRadGround2Ubound       ! longwave radiation emitted from ground lost thru upper boundary (W m-2)
- real(dp),intent(out)          :: LWRadGround2Canopy       ! longwave radiation emitted from ground and absorbed by the canopy (W m-2)
- ! output: net fluxes
- real(dp),intent(out)          :: LWNetCanopy              ! net longwave radiation at the canopy (W m-2)
- real(dp),intent(out)          :: LWNetGround              ! net longwave radiation at the ground surface (W m-2)
- real(dp),intent(out)          :: LWNetUbound              ! net longwave radiation at the upper boundary (W m-2)
- ! output: flux derivatives
- real(dp),intent(out)          :: dLWNetCanopy_dTCanopy    ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLWNetGround_dTGround    ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLWNetCanopy_dTGround    ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLWNetGround_dTCanopy    ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
- ! output: error control
- integer(i4b),intent(out)      :: err                      ! error code
- character(*),intent(out)      :: message                  ! error message
- ! -----------------------------------------------------------------------------------------------------------------------------------------------
- ! local variables
- integer(i4b),parameter        :: unperturbed=1            ! named variable to identify the case of unperturbed state variables
- integer(i4b),parameter        :: perturbStateCanopy=2     ! named variable to identify the case where we perturb the canopy temperature
- integer(i4b),parameter        :: perturbStateGround=3     ! named variable to identify the case where we perturb the ground temperature
- integer(i4b)                  :: itry                     ! index of flux evaluation
- integer(i4b)                  :: nFlux                    ! number of flux evaluations
- real(dp)                      :: TCan                     ! value of canopy temperature used in flux calculations (may be perturbed)
- real(dp)                      :: TGnd                     ! value of ground temperature used in flux calculations (may be perturbed)
- real(dp)                      :: fluxBalance              ! check energy closure (W m-2)
- real(dp),parameter            :: fluxTolerance=1.e-10_dp  ! tolerance for energy closure (W m-2)
- real(dp)                      :: dLWRadCanopy_dTCanopy    ! derivative in emitted radiation at the canopy w.r.t. canopy temperature
- real(dp)                      :: dLWRadGround_dTGround    ! derivative in emitted radiation at the ground w.r.t. ground temperature
- real(dp)                      :: LWNetCanopy_dStateCanopy ! net lw canopy flux after perturbation in canopy temperature
- real(dp)                      :: LWNetGround_dStateCanopy ! net lw ground flux after perturbation in canopy temperature
- real(dp)                      :: LWNetCanopy_dStateGround ! net lw canopy flux after perturbation in ground temperature
- real(dp)                      :: LWNetGround_dStateGround ! net lw ground flux after perturbation in ground temperature
- ! -----------------------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message='longwaveBal/'
-
- ! check the need to compute numerical derivatives
- if(ixDerivMethod==numerical)then
-  nFlux=3  ! compute the derivatives using one-sided finite differences
- else
-  nFlux=1  ! compute analytical derivatives
- end if
-
- ! either one or multiple flux calls, depending on if using analytical or numerical derivatives
- do itry=nFlux,1,-1  ! (work backwards to ensure all computed fluxes come from the un-perturbed case)
-
-  !print*, 'perturbation: ', (itry==unperturbed), (itry==perturbStateCanopy), (itry==perturbStateGround)
-
-  ! -------------------------------------------------------------------------------------
-  ! state perturbations for numerical deriavtives with one-sided finite differences
-  ! note: no perturbations performed using analytical derivatives (nFlux=1)
-  ! -------------------------------------------------------------------------------------
-
-  ! identify the type of perturbation
-  select case(itry)
-
-   ! un-perturbed case
-   case(unperturbed)
-    TCan = canopyTemp
-    TGnd = groundTemp
-
-   ! perturb canopy temperature
-   case(perturbStateCanopy)
-    TCan = canopyTemp + dx
-    TGnd = groundTemp
-
-   ! perturb ground temperature
-   case(perturbStateGround)
-    TCan = canopyTemp
-    TGnd = groundTemp + dx
-
-   ! check for an unknown perturbation
-   case default; err=10; message=trim(message)//"unknown perturbation"; return
-
-  end select ! (type of perturbation)
-
-  ! -------------------------------------------------------------------------------------
-  ! calculation block (unperturbed fluxes returned [computed last])
-  ! -------------------------------------------------------------------------------------
-  ! NOTE: emc should be set to zero when not computing canopy fluxes
-
-  ! compute longwave fluxes from canopy and the ground
-  if(computeVegFlux)then
-   LWRadCanopy = emc*sb*TCan**4._dp                                           ! longwave radiation emitted from the canopy (W m-2)
-  else
-   LWRadCanopy = 0._dp
-  end if
-  LWRadGround = emg*sb*TGnd**4._dp                                           ! longwave radiation emitted at the ground surface (W m-2)
-
-  ! compute fluxes originating from the atmosphere
-  LWRadUbound2Canopy = (emc + (1._dp - emc)*(1._dp - emg)*emc)*LWRadUbound   ! downward atmospheric longwave radiation absorbed by the canopy (W m-2)
-  LWRadUbound2Ground = (1._dp - emc)*emg*LWRadUbound                         ! downward atmospheric longwave radiation absorbed by the ground (W m-2)
-  LWRadUbound2Ubound = (1._dp - emc)*(1._dp - emg)*(1._dp - emc)*LWRadUbound ! atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
-
-  ! compute fluxes originating from the canopy
-  LWRadCanopy2Ubound = (1._dp + (1._dp - emc)*(1._dp - emg))*LWRadCanopy     ! longwave radiation emitted from canopy lost thru upper boundary (W m-2)
-  LWRadCanopy2Ground = emg*LWRadCanopy                                       ! longwave radiation emitted from canopy absorbed by the ground (W m-2)
-  LWRadCanopy2Canopy = emc*(1._dp - emg)*LWRadCanopy                         ! canopy longwave reflected from ground and absorbed by the canopy (W m-2)
-
-  ! compute fluxes originating from the ground surface
-  LWRadGround2Ubound = (1._dp - emc)*LWRadGround                             ! longwave radiation emitted from ground lost thru upper boundary (W m-2)
-  LWRadGround2Canopy = emc*LWRadGround                                       ! longwave radiation emitted from ground and absorbed by the canopy (W m-2)
-
-  ! compute net longwave radiation (W m-2)
-  LWNetCanopy = LWRadUbound2Canopy + LWRadGround2Canopy + LWRadCanopy2Canopy - 2._dp*LWRadCanopy  ! canopy
-  LWNetGround = LWRadUbound2Ground + LWRadCanopy2Ground - LWRadGround                             ! ground surface
-  LWNetUbound = LWRadUbound - LWRadUbound2Ubound - LWRadCanopy2Ubound - LWRadGround2Ubound                             ! upper boundary
-
-  !print*, 'LWRadCanopy = ', LWRadCanopy
-  !print*, 'LWRadGround = ', LWRadGround
-
-  !print*, 'LWNetCanopy = ', LWNetCanopy
-  !print*, 'LWNetGround = ', LWNetGround
-  !print*, 'LWNetUbound = ', LWNetUbound
-
-  ! check the flux balance
-  fluxBalance = LWNetUbound - (LWNetCanopy + LWNetGround)
-  if(abs(fluxBalance) > fluxTolerance)then
-   print*, 'fluxBalance = ', fluxBalance
-   print*, 'emg, emc = ', emg, emc
-   print*, 'TCan, TGnd = ', TCan, TGnd
-   print*, 'LWRadUbound = ', LWRadUbound
-   print*, 'LWRadCanopy = ', LWRadCanopy
-   print*, 'LWRadGround = ', LWRadGround
-   print*, 'LWRadUbound2Canopy = ', LWRadUbound2Canopy
-   print*, 'LWRadUbound2Ground = ', LWRadUbound2Ground
-   print*, 'LWRadUbound2Ubound = ', LWRadUbound2Ubound
-   print*, 'LWRadCanopy2Ubound = ', LWRadCanopy2Ubound
-   print*, 'LWRadCanopy2Ground = ', LWRadCanopy2Ground
-   print*, 'LWRadCanopy2Canopy = ', LWRadCanopy2Canopy
-   print*, 'LWRadGround2Ubound = ', LWRadGround2Ubound
-   print*, 'LWRadGround2Canopy = ', LWRadGround2Canopy
-   print*, 'LWNetCanopy = ', LWNetCanopy
-   print*, 'LWNetGround = ', LWNetGround
-   print*, 'LWNetUbound = ', LWNetUbound
-   message=trim(message)//'flux imbalance'
-   err=20; return
-  end if
-
-  ! --------------------------------------------------------------------------------------
-  ! save perturbed fluxes to calculate numerical derivatives (one-sided finite difference)
-  ! --------------------------------------------------------------------------------------
-  if(ixDerivMethod==numerical)then
-   select case(itry) ! (select type of perturbation)
-    case(unperturbed); exit
-    case(perturbStateCanopy)
-     LWNetCanopy_dStateCanopy = LWNetCanopy
-     LWNetGround_dStateCanopy = LWNetGround
-    case(perturbStateGround)
-     LWNetCanopy_dStateGround = LWNetCanopy
-     LWNetGround_dStateGround = LWNetGround
-    case default; err=10; message=trim(message)//"unknown perturbation"; return
-   end select ! (type of perturbation)
-  end if ! (if numerical)
-
- end do  ! looping through different perturbations
-
- ! -------------------------------------------------------------------------------------
- ! compute derivatives
- ! -------------------------------------------------------------------------------------
- select case(ixDerivMethod)
-
-  ! ***** analytical derivatives
-  case(analytical)
-   ! compute initial derivatives
-   dLWRadCanopy_dTCanopy = 4._dp*emc*sb*TCan**3._dp
-   dLWRadGround_dTGround = 4._dp*emg*sb*TGnd**3._dp
-   ! compute analytical derivatives
-   dLWNetCanopy_dTCanopy = (emc*(1._dp - emg) - 2._dp)*dLWRadCanopy_dTCanopy ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
-   dLWNetGround_dTGround = -dLWRadGround_dTGround     ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
-   dLWNetCanopy_dTGround = emc*dLWRadGround_dTGround  ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
-   dLWNetGround_dTCanopy = emg*dLWRadCanopy_dTCanopy  ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
-
-  ! ***** numerical derivatives
-  case(numerical)
-   ! compute numerical derivatives (one-sided finite differences)
-   dLWNetCanopy_dTCanopy = (LWNetCanopy_dStateCanopy - LWNetCanopy)/dx  ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
-   dLWNetGround_dTGround = (LWNetGround_dStateGround - LWNetGround)/dx  ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
-   dLWNetCanopy_dTGround = (LWNetCanopy_dStateGround - LWNetCanopy)/dx  ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
-   dLWNetGround_dTCanopy = (LWNetGround_dStateCanopy - LWNetGround)/dx  ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
-
-  ! ***** error check
-  case default; err=10; message=trim(message)//"unknown method to calculate derivatives"; return
-
- end select ! (type of method to calculate derivatives)
-
- end subroutine longwaveBal
-
-
- ! *******************************************************************************************************
- ! private subroutine aeroResist: compute aerodynamic resistances
- ! *******************************************************************************************************
- subroutine aeroResist(&
-                       ! input: model control
-                       computeVegFlux,                & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
-                       derivDesired,                  & ! intent(in): flag to indicate if analytical derivatives are desired
-                       ixVegTraits,                   & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
-                       ixWindProfile,                 & ! intent(in): choice of canopy wind profile
-                       ixStability,                   & ! intent(in): choice of stability function
-                       ! input: above-canopy forcing data
-                       mHeight,                       & ! intent(in): measurement height (m)
-                       airtemp,                       & ! intent(in): air temperature at some height above the surface (K)
-                       windspd,                       & ! intent(in): wind speed at some height above the surface (m s-1)
-                       ! input: temperature (canopy, ground, canopy air space)
-                       canairTemp,                    & ! intent(in): temperature of the canopy air space (K)
-                       groundTemp,                    & ! intent(in): ground temperature (K)
-                       ! input: diagnostic variables
-                       exposedVAI,                    & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
-                       snowDepth,                     & ! intent(in): snow depth (m)
-                       ! input: parameters
-                       z0Ground,                      & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
-                       z0CanopyParam,                 & ! intent(in): roughness length of the canopy (m)
-                       zpdFraction,                   & ! intent(in): zero plane displacement / canopy height (-)
-                       critRichNumber,                & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
-                       Louis79_bparam,                & ! intent(in): parameter in Louis (1979) stability function
-                       Mahrt87_eScale,                & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
-                       windReductionParam,            & ! intent(in): canopy wind reduction parameter (-)
-                       leafExchangeCoeff,             & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
-                       leafDimension,                 & ! intent(in): characteristic leaf dimension (m)
-                       heightCanopyTop,               & ! intent(in): height at the top of the vegetation canopy (m)
-                       heightCanopyBottom,            & ! intent(in): height at the bottom of the vegetation canopy (m)
-                       ! output: stability corrections
-                       RiBulkCanopy,                  & ! intent(out): bulk Richardson number for the canopy (-)
-                       RiBulkGround,                  & ! intent(out): bulk Richardson number for the ground surface (-)
-                       canopyStabilityCorrection,     & ! intent(out): stability correction for the canopy (-)
-                       groundStabilityCorrection,     & ! intent(out): stability correction for the ground surface (-)
-                       ! output: scalar resistances
-                       z0Canopy,                      & ! intent(out): roughness length of the canopy (m)
-                       windReductionFactor,           & ! intent(out): canopy wind reduction factor (-)
-                       zeroPlaneDisplacement,         & ! intent(out): zero plane displacement (m)
-                       eddyDiffusCanopyTop,           & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
-                       frictionVelocity,              & ! intent(out): friction velocity (m s-1)
-                       windspdCanopyTop,              & ! intent(out): windspeed at the top of the canopy (m s-1)
-                       windspdCanopyBottom,           & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
-                       leafResistance,                & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
-                       groundResistance,              & ! intent(out): below canopy aerodynamic resistance (s m-1)
-                       canopyResistance,              & ! intent(out): above canopy aerodynamic resistance (s m-1)
-                       ! output: derivatives in scalar resistances
-                       dGroundResistance_dTGround,    & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
-                       dGroundResistance_dTCanopy,    & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
-                       dGroundResistance_dTCanair,    & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
-                       dCanopyResistance_dTCanopy,    & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
-                       dCanopyResistance_dTCanair,    & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-                       ! output: error control
-                       err,message                    ) ! intent(out): error control
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! compute aerodynamic resistances
- ! Refs: Choudhury and Monteith (4-layer model for heat budget of homogenous surfaces; QJRMS, 1988)
- !       Niu and Yang (Canopy effects on snow processes; JGR, 2004)
- !       Mahat et al. (Below-canopy turbulence in a snowmelt model, WRR, 2012)
- implicit none
- ! input: model control
- logical(lgt),intent(in)       :: computeVegFlux                ! logical flag to compute vegetation fluxes (.false. if veg buried by snow)
- logical(lgt),intent(in)       :: derivDesired                  ! logical flag to indicate if analytical derivatives are desired
- integer(i4b),intent(in)       :: ixVegTraits                   ! choice of parameterization for vegetation roughness length and displacement height
- integer(i4b),intent(in)       :: ixWindProfile                 ! choice of canopy wind profile
- integer(i4b),intent(in)       :: ixStability                   ! choice of stability function
- ! input: above-canopy forcing data
- real(dp),intent(in)           :: mHeight                       ! measurement height (m)
- real(dp),intent(in)           :: airtemp                       ! air temperature at some height above the surface (K)
- real(dp),intent(in)           :: windspd                       ! wind speed at some height above the surface (m s-1)
- ! input: temperature (canopy, ground, canopy air space)
- real(dp),intent(in)           :: canairTemp                    ! temperature of the canopy air space (K)
- real(dp),intent(in)           :: groundTemp                    ! ground temperature (K)
- ! input: diagnostic variables
- real(dp),intent(in)           :: exposedVAI                    ! exposed vegetation area index -- leaf plus stem (m2 m-2)
- real(dp),intent(in)           :: snowDepth                     ! snow depth (m)
- ! input: parameters
- real(dp),intent(in)           :: z0Ground                      ! roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
- real(dp),intent(in)           :: z0CanopyParam                 ! roughness length of the canopy (m)
- real(dp),intent(in)           :: zpdFraction                   ! zero plane displacement / canopy height (-)
- real(dp),intent(in)           :: critRichNumber                ! critical value for the bulk Richardson number where turbulence ceases (-)
- real(dp),intent(in)           :: Louis79_bparam                ! parameter in Louis (1979) stability function
- real(dp),intent(in)           :: Mahrt87_eScale                ! exponential scaling factor in the Mahrt (1987) stability function
- real(dp),intent(in)           :: windReductionParam            ! canopy wind reduction parameter (-)
- real(dp),intent(in)           :: leafExchangeCoeff             ! turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
- real(dp),intent(in)           :: leafDimension                 ! characteristic leaf dimension (m)
- real(dp),intent(in)           :: heightCanopyTop               ! height at the top of the vegetation canopy (m)
- real(dp),intent(in)           :: heightCanopyBottom            ! height at the bottom of the vegetation canopy (m)
- ! output: stability corrections
- real(dp),intent(out)          :: RiBulkCanopy                  ! bulk Richardson number for the canopy (-)
- real(dp),intent(out)          :: RiBulkGround                  ! bulk Richardson number for the ground surface (-)
- real(dp),intent(out)          :: canopyStabilityCorrection     ! stability correction for the canopy (-)
- real(dp),intent(out)          :: groundStabilityCorrection     ! stability correction for the ground surface (-)
- ! output: scalar resistances
- real(dp),intent(out)          :: z0Canopy                      ! roughness length of the vegetation canopy (m)
- real(dp),intent(out)          :: windReductionFactor           ! canopy wind reduction factor (-)
- real(dp),intent(out)          :: zeroPlaneDisplacement         ! zero plane displacement (m)
- real(dp),intent(out)          :: eddyDiffusCanopyTop           ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
- real(dp),intent(out)          :: frictionVelocity              ! friction velocity (m s-1)
- real(dp),intent(out)          :: windspdCanopyTop              ! windspeed at the top of the canopy (m s-1)
- real(dp),intent(out)          :: windspdCanopyBottom           ! windspeed at the height of the bottom of the canopy (m s-1)
- real(dp),intent(out)          :: leafResistance                ! mean leaf boundary layer resistance per unit leaf area (s m-1)
- real(dp),intent(out)          :: groundResistance              ! below canopy aerodynamic resistance (s m-1)
- real(dp),intent(out)          :: canopyResistance              ! above canopy aerodynamic resistance (s m-1)
- ! output: derivatives in scalar resistances
- real(dp),intent(out)          :: dGroundResistance_dTGround    ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
- real(dp),intent(out)          :: dGroundResistance_dTCanopy    ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp),intent(out)          :: dGroundResistance_dTCanair    ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
- real(dp),intent(out)          :: dCanopyResistance_dTCanopy    ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp),intent(out)          :: dCanopyResistance_dTCanair    ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
- ! output: error control
- integer(i4b),intent(out)      :: err                           ! error code
- character(*),intent(out)      :: message                       ! error message
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! local variables: general
- character(LEN=256)            :: cmessage                      ! error message of downwind routine
- ! local variables: vegetation roughness and dispalcement height
- real(dp),parameter            :: oneThird=1._dp/3._dp          ! 1/3
- real(dp),parameter            :: twoThirds=2._dp/3._dp         ! 2/3
- real(dp),parameter            :: C_r = 0.3                     ! roughness element drag coefficient (-) from Raupach (BLM, 1994)
- real(dp),parameter            :: C_s = 0.003_dp                ! substrate surface drag coefficient (-) from Raupach (BLM, 1994)
- real(dp),parameter            :: approxDragCoef_max = 0.3_dp   ! maximum value of the approximate drag coefficient (-) from Raupach (BLM, 1994)
- real(dp),parameter            :: psi_h = 0.193_dp              ! roughness sub-layer influence function (-) from Raupach (BLM, 1994)
- real(dp),parameter            :: c_d1 = 7.5_dp                 ! scaling parameter used to define displacement height (-) from Raupach (BLM, 1994)
- real(dp),parameter            :: cd_CM = 0.2_dp                ! mean drag coefficient for individual leaves (-) from Choudhury and Monteith (QJRMS, 1988)
- real(dp)                      :: funcLAI                       ! temporary variable to calculate zero plane displacement for the canopy
- real(dp)                      :: fracCanopyHeight              ! zero plane displacement expressed as a fraction of canopy height
- real(dp)                      :: approxDragCoef                ! approximate drag coefficient used in the computation of canopy roughness length (-)
- ! local variables: resistance
- real(dp)                      :: canopyExNeut                  ! surface-atmosphere exchange coefficient under neutral conditions (-)
- real(dp)                      :: groundExNeut                  ! surface-atmosphere exchange coefficient under neutral conditions (-)
- real(dp)                      :: sfc2AtmExchangeCoeff_canopy   ! surface-atmosphere exchange coefficient after stability corrections (-)
- real(dp)                      :: groundResistanceNeutral       ! ground resistance under neutral conditions (s m-1)
- real(dp)                      :: windConvFactor_fv             ! factor to convert friction velocity to wind speed at top of canopy (-)
- real(dp)                      :: windConvFactor                ! factor to convert wind speed at top of canopy to wind speed at a given height in the canopy (-)
- real(dp)                      :: referenceHeight               ! z0Canopy+zeroPlaneDisplacement (m)
- real(dp)                      :: windspdRefHeight              ! windspeed at the reference height (m/s)
- real(dp)                      :: heightAboveGround             ! height above the snow surface (m)
- real(dp)                      :: heightCanopyTopAboveSnow      ! height at the top of the vegetation canopy relative to snowpack (m)
- real(dp)                      :: heightCanopyBottomAboveSnow   ! height at the bottom of the vegetation canopy relative to snowpack (m)
- real(dp),parameter            :: xTolerance=0.1_dp             ! tolerance to handle the transition from exponential to log-below canopy
- ! local variables: derivatives
- real(dp)                      :: dFV_dT                        ! derivative in friction velocity w.r.t. canopy air temperature
- real(dp)                      :: dED_dT                        ! derivative in eddy diffusivity at the top of the canopy w.r.t. canopy air temperature
- real(dp)                      :: dGR_dT                        ! derivative in neutral ground resistance w.r.t. canopy air temperature
- real(dp)                      :: tmp1,tmp2                     ! temporary variables used in calculation of ground resistance
- real(dp)                      :: dCanopyStabilityCorrection_dRich     ! derivative in stability correction w.r.t. Richardson number for the canopy (-)
- real(dp)                      :: dGroundStabilityCorrection_dRich     ! derivative in stability correction w.r.t. Richardson number for the ground surface (-)
- real(dp)                      :: dCanopyStabilityCorrection_dAirTemp  ! (not used) derivative in stability correction w.r.t. air temperature (K-1)
- real(dp)                      :: dGroundStabilityCorrection_dAirTemp  ! (not used) derivative in stability correction w.r.t. air temperature (K-1)
- real(dp)                      :: dCanopyStabilityCorrection_dCasTemp  ! derivative in canopy stability correction w.r.t. canopy air space temperature (K-1)
- real(dp)                      :: dGroundStabilityCorrection_dCasTemp  ! derivative in ground stability correction w.r.t. canopy air space temperature (K-1)
- real(dp)                      :: dGroundStabilityCorrection_dSfcTemp  ! derivative in ground stability correction w.r.t. surface temperature (K-1)
- real(dp)                      :: singleLeafConductance         ! leaf boundary layer conductance (m s-1)
- real(dp)                      :: canopyLeafConductance         ! leaf boundary layer conductance -- scaled up to the canopy (m s-1)
- real(dp)                      :: leaf2CanopyScaleFactor        ! factor to scale from the leaf to the canopy [m s-(1/2)]
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message='aeroResist/'
-
- ! check that measurement height is above the top of the canopy
- if(mHeight < heightCanopyTop)then
-  err=20; message=trim(message)//'measurement height is below the top of the canopy'; return
- end if
-
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! * compute vegetation poperties (could be done at the same time as phenology.. does not have to be in the flux routine!)
- if(computeVegFlux) then ! (if vegetation is exposed)
-
-  ! ***** identify zero plane displacement, roughness length, and surface temperature for the canopy (m)
-  ! First, calculate new coordinate system above snow - use these to scale wind profiles and resistances
-  ! NOTE: the new coordinate system makes zeroPlaneDisplacement and z0Canopy consistent
-  heightCanopyTopAboveSnow = heightCanopyTop - snowDepth
-  heightCanopyBottomAboveSnow = max(heightCanopyBottom - snowDepth, 0.0_dp)
-  select case(ixVegTraits)
-
-   ! Raupach (BLM 1994) "Simplified expressions..."
-   case(Raupach_BLM1994)
-    ! (compute zero-plane displacement)
-    funcLAI          = sqrt(c_d1*exposedVAI)
-    fracCanopyHeight = -(1._dp - exp(-funcLAI))/funcLAI + 1._dp
-    zeroPlaneDisplacement = fracCanopyHeight*(heightCanopyTopAboveSnow-heightCanopyBottomAboveSnow)+heightCanopyBottomAboveSnow
-    ! (coupute roughness length of the veg canopy)
-    approxDragCoef   = min( sqrt(C_s + C_r*exposedVAI/2._dp), approxDragCoef_max)
-    z0Canopy         = (1._dp - fracCanopyHeight) * exp(-vkc*approxDragCoef - psi_h) * (heightCanopyTopAboveSnow-heightCanopyBottomAboveSnow)
-
-   ! Choudhury and Monteith (QJRMS 1988) "A four layer model for the heat budget..."
-   case(CM_QJRMS1988)
-    funcLAI =  cd_CM*exposedVAI
-    zeroPlaneDisplacement = 1.1_dp*heightCanopyTopAboveSnow*log(1._dp + funcLAI**0.25_dp)
-    if(funcLAI < 0.2_dp)then
-     z0Canopy = z0Ground + 0.3_dp*heightCanopyTopAboveSnow*funcLAI**0.5_dp
-    else
-     z0Canopy = 0.3_dp*heightCanopyTopAboveSnow*(1._dp - zeroPlaneDisplacement/heightCanopyTopAboveSnow)
-    end if
-
-   ! constant parameters dependent on the vegetation type
-   case(vegTypeTable)
-    zeroPlaneDisplacement = zpdFraction*heightCanopyTopAboveSnow  ! zero-plane displacement (m)
-    z0Canopy = z0CanopyParam                                      ! roughness length of the veg canopy (m)
-
-   ! check
-   case default
-    err=10; message=trim(message)//"unknown parameterization for vegetation roughness length and displacement height"; return
-
-  end select  ! vegetation traits (z0, zpd)
-
-  ! check zero plane displacement
-  if(zeroPlaneDisplacement < heightCanopyBottomAboveSnow)then
-   write(*,'(a,1x,10(f12.5,1x))') 'heightCanopyTop, snowDepth, heightCanopyTopAboveSnow, heightCanopyBottomAboveSnow, exposedVAI = ', &
-                                   heightCanopyTop, snowDepth, heightCanopyTopAboveSnow, heightCanopyBottomAboveSnow, exposedVAI
-   message=trim(message)//'zero plane displacement is below the canopy bottom'
-   err=20; return
-  endif
-
-  ! check measurement height
-  if(mHeight < zeroPlaneDisplacement)then; err=20; message=trim(message)//'measurement height is below the displacement height'; return; end if
-  if(mHeight < z0Canopy)then; err=20; message=trim(message)//'measurement height is below the roughness length'; return; end if
-
-  ! -----------------------------------------------------------------------------------------------------------------------------------------
-  ! -----------------------------------------------------------------------------------------------------------------------------------------
-  ! * compute resistance for the case where the canopy is exposed
-  ! compute the stability correction for resistance from canopy air space to air above the canopy (-)
-  call aStability(&
-                  ! input
-                  derivDesired,                                     & ! input: logical flag to compute analytical derivatives
-                  ixStability,                                      & ! input: choice of stability function
-                  ! input: forcing data, diagnostic and state variables
-                  mHeight,                                          & ! input: measurement height (m)
-                  airTemp,                                          & ! input: air temperature above the canopy (K)
-                  canairTemp,                                       & ! input: temperature of the canopy air space (K)
-                  windspd,                                          & ! input: wind speed above the canopy (m s-1)
-                  ! input: stability parameters
-                  critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
-                  Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
-                  Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
-                  ! output
-                  RiBulkCanopy,                                     & ! output: bulk Richardson number (-)
-                  canopyStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
-                  dCanopyStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the canopy (-)
-                  dCanopyStabilityCorrection_dAirTemp,              & ! output: (not used) derivative in stability correction w.r.t. air temperature (K-1)
-                  dCanopyStabilityCorrection_dCasTemp,              & ! output: derivative in stability correction w.r.t. canopy air space temperature (K-1)
-                  err, cmessage                                     ) ! output: error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-  ! compute turbulent exchange coefficient (-)
-  canopyExNeut = (vkc**2._dp) / ( log((mHeight - zeroPlaneDisplacement)/z0Canopy))**2._dp     ! coefficient under conditions of neutral stability
-  sfc2AtmExchangeCoeff_canopy = canopyExNeut*canopyStabilityCorrection                        ! after stability corrections
-
-  ! compute the friction velocity (m s-1)
-  frictionVelocity = windspd * sqrt(sfc2AtmExchangeCoeff_canopy)
-
-  ! compute the above-canopy resistance (s m-1)
-  canopyResistance = 1._dp/(sfc2AtmExchangeCoeff_canopy*windspd)
-  if(canopyResistance < 0._dp)then; err=20; message=trim(message)//'canopy resistance < 0'; return; end if
-
-  ! compute windspeed at the top of the canopy above snow depth (m s-1)
-  ! NOTE: stability corrections cancel out
-  windConvFactor_fv = log((heightCanopyTopAboveSnow - zeroPlaneDisplacement)/z0Canopy) / log((mHeight - snowDepth - zeroPlaneDisplacement)/z0Canopy)
-  windspdCanopyTop  = windspd*windConvFactor_fv
-
-  ! compute the windspeed reduction
-  ! Refs: Norman et al. (Ag. Forest Met., 1995) -- citing Goudriaan (1977 manuscript "crop micrometeorology: a simulation study", Wageningen).  
-  windReductionFactor = windReductionParam * exposedVAI**twoThirds * (heightCanopyTopAboveSnow - heightCanopyBottomAboveSnow)**oneThird / leafDimension**oneThird
-
-  ! compute windspeed at the height z0Canopy+zeroPlaneDisplacement (m s-1)
-  referenceHeight   = z0Canopy+zeroPlaneDisplacement
-  windConvFactor    = exp(-windReductionFactor*(1._dp - (referenceHeight/heightCanopyTopAboveSnow)))
-  windspdRefHeight  = windspdCanopyTop*windConvFactor
-
-  ! compute windspeed at the bottom of the canopy relative to the snow depth (m s-1)
-  windConvFactor       = exp(-windReductionFactor*(1._dp - (heightCanopyBottomAboveSnow/heightCanopyTopAboveSnow)))
-  windspdCanopyBottom  = windspdCanopyTop*windConvFactor
-
-  ! compute the leaf boundary layer resistance (s m-1)
-  singleLeafConductance  = leafExchangeCoeff*sqrt(windspdCanopyTop/leafDimension)
-  leaf2CanopyScaleFactor = (2._dp/windReductionFactor) * (1._dp - exp(-windReductionFactor/2._dp)) ! factor to scale from the leaf to the canopy
-  canopyLeafConductance  = singleLeafConductance*leaf2CanopyScaleFactor
-  leafResistance         = 1._dp/(canopyLeafConductance)
-  if(leafResistance < 0._dp)then; err=20; message=trim(message)//'leaf resistance < 0'; return; end if
-
-  ! compute eddy diffusivity for heat at the top of the canopy (m2 s-1)
-  !  Note: use of friction velocity here includes stability adjustments
-  !  Note: max used to avoid dividing by zero
-  eddyDiffusCanopyTop = max(vkc*FrictionVelocity*(heightCanopyTopAboveSnow - zeroPlaneDisplacement), mpe)
-
-  ! compute the resistance between the surface and canopy air UNDER NEUTRAL CONDITIONS (s m-1)
-  ! print*, ""
-  ! print*, "-windReductionFactor = ", -windReductionFactor
-  ! print*, " z0Ground = ", z0Ground
-  ! print*, " heightCanopyTopAboveSnow = ", heightCanopyTopAboveSnow
-  ! print*, " zeroPlaneDisplacement = ", zeroPlaneDisplacement
-  ! print*, " heightCanopyTopAboveSnow = ", heightCanopyTopAboveSnow
-  ! print*, " eddyDiffusCanopyTop = ", eddyDiffusCanopyTop
-  ! print*, ""
-  ! case 1: assume exponential profile extends from the snow depth plus surface roughness length to the displacement height plus vegetation roughness
-  if(ixWindProfile==exponential .or. heightCanopyBottomAboveSnow<z0Ground+xTolerance)then
-   ! compute the neutral ground resistance
-   tmp1 = exp(-windReductionFactor* z0Ground/heightCanopyTopAboveSnow)
-   tmp2 = exp(-windReductionFactor*(z0Canopy+zeroPlaneDisplacement)/heightCanopyTopAboveSnow)
-   groundResistanceNeutral = ( heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop) ) * (tmp1 - tmp2)   ! s m-1
-
-  ! case 2: logarithmic profile from snow depth plus roughness height to bottom of the canopy
-  ! NOTE: heightCanopyBottomAboveSnow>z0Ground+xTolerance
-  else 
-   ! compute the neutral ground resistance
-   ! (first, component between heightCanopyBottomAboveSnow and z0Canopy+zeroPlaneDisplacement)
-   tmp1  = exp(-windReductionFactor* heightCanopyBottomAboveSnow/heightCanopyTopAboveSnow)
-   tmp2  = exp(-windReductionFactor*(z0Canopy+zeroPlaneDisplacement)/heightCanopyTopAboveSnow)
-   groundResistanceNeutral = ( heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop) ) * (tmp1 - tmp2)
-   ! (add log-below-canopy component)
-   groundResistanceNeutral = groundResistanceNeutral + (1._dp/(max(0.1_dp,windspdCanopyBottom)*vkc**2._dp))*(log(heightCanopyBottomAboveSnow/z0Ground))**2._dp
-   
-  endif  ! switch between exponential profile and log-below-canopy
-
-  ! compute the stability correction for resistance from the ground to the canopy air space (-)
-  ! NOTE: here we are interested in the windspeed at height z0Canopy+zeroPlaneDisplacement
-  call aStability(&
-                  ! input
-                  derivDesired,                                     & ! input: logical flag to compute analytical derivatives
-                  ixStability,                                      & ! input: choice of stability function
-                  ! input: forcing data, diagnostic and state variables
-                  referenceHeight,                                  & ! input: height of the canopy air space temperature/wind (m)
-                  canairTemp,                                       & ! input: temperature of the canopy air space (K)
-                  groundTemp,                                       & ! input: temperature of the ground surface (K)
-                  max(0.1_dp,windspdRefHeight),                     & ! input: wind speed at height z0Canopy+zeroPlaneDisplacement (m s-1)
-                  ! input: stability parameters
-                  critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
-                  Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
-                  Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
-                  ! output
-                  RiBulkGround,                                     & ! output: bulk Richardson number (-)
-                  groundStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
-                  dGroundStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the canopy (-)
-                  dGroundStabilityCorrection_dCasTemp,              & ! output: derivative in stability correction w.r.t. canopy air space temperature (K-1)
-                  dGroundStabilityCorrection_dSfcTemp,              & ! output: derivative in stability correction w.r.t. surface temperature (K-1)
-                  err, cmessage                                     ) ! output: error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-  ! compute the ground resistance
-  groundResistance = groundResistanceNeutral / groundStabilityCorrection
-  if(groundResistance < 0._dp)then; err=20; message=trim(message)//'ground resistance < 0 [vegetation is present]'; return; end if
-
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! * compute resistance for the case without a canopy (bare ground, or canopy completely buried with snow)
- else
-
-  ! no canopy, so set huge resistances (not used)
-  canopyResistance = 1.e12_dp   ! not used: huge resistance, so conductance is essentially zero
-  leafResistance   = 1.e12_dp   ! not used: huge resistance, so conductance is essentially zero
-
-  ! check that measurement height above the ground surface is above the roughness length
-  if(mHeight < snowDepth+z0Ground)then; err=20; message=trim(message)//'measurement height < snow depth + roughness length'; return; end if
-
-  ! compute the resistance between the surface and canopy air UNDER NEUTRAL CONDITIONS (s m-1)
-  groundExNeut = (vkc**2._dp) / ( log((mHeight - snowDepth)/z0Ground)**2._dp) ! turbulent transfer coefficient under conditions of neutral stability (-)
-  groundResistanceNeutral = 1._dp / (groundExNeut*windspd)
-
-  ! define height above the snow surface
-  heightAboveGround  = mHeight - snowDepth
-
-  ! check that measurement height above the ground surface is above the roughness length
-  if(heightAboveGround < z0Ground)then
-   print*, 'z0Ground = ', z0Ground
-   print*, 'mHeight  = ', mHeight
-   print*, 'snowDepth = ', snowDepth
-   print*, 'heightAboveGround = ', heightAboveGround
-   message=trim(message)//'height above ground < roughness length [likely due to snow accumulation]'
-   err=20; return
-  end if
-
-  ! compute ground stability correction
-  call aStability(&
-                   ! input
-                  derivDesired,                                     & ! input: logical flag to compute analytical derivatives
-                  ixStability,                                      & ! input: choice of stability function
-                  ! input: forcing data, diagnostic and state variables
-                  heightAboveGround,                                & ! input: measurement height above the ground surface (m)
-                  airtemp,                                          & ! input: temperature above the ground surface (K)
-                  groundTemp,                                       & ! input: trial value of surface temperature -- "surface" is either canopy or ground (K)
-                  windspd,                                          & ! input: wind speed above the ground surface (m s-1)
-                  ! input: stability parameters
-                  critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
-                  Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
-                  Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
-                  ! output
-                  RiBulkGround,                                     & ! output: bulk Richardson number (-)
-                  groundStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
-                  dGroundStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the ground surface (-)
-                  dGroundStabilityCorrection_dAirTemp,              & ! output: (not used) derivative in stability correction w.r.t. air temperature (K-1)
-                  dGroundStabilityCorrection_dSfcTemp,              & ! output: derivative in stability correction w.r.t. surface temperature (K-1)
-                  err, cmessage                                     ) ! output: error control
-  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
-
-  ! compute the ground resistance (after stability corrections)
-  groundResistance = groundResistanceNeutral/groundStabilityCorrection
-  if(groundResistance < 0._dp)then; err=20; message=trim(message)//'ground resistance < 0 [no vegetation]'; return; end if
-
-  ! set all canopy variables to missing (no canopy!)
-  z0Canopy                   = missingValue   ! roughness length of the vegetation canopy (m)
-  RiBulkCanopy               = missingValue   ! bulk Richardson number for the canopy (-)
-  windReductionFactor        = missingValue   ! canopy wind reduction factor (-)
-  zeroPlaneDisplacement      = missingValue   ! zero plane displacement (m)
-  canopyStabilityCorrection  = missingValue   ! stability correction for the canopy (-)
-  eddyDiffusCanopyTop        = missingValue   ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
-  frictionVelocity           = missingValue   ! friction velocity (m s-1)
-  windspdCanopyTop           = missingValue   ! windspeed at the top of the canopy (m s-1)
-  windspdCanopyBottom        = missingValue   ! windspeed at the height of the bottom of the canopy (m s-1)
-
- end if  ! (if no canopy)
-
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! * compute derivatives
- if(derivDesired)then  ! if analytical derivatives are desired
-
-  ! derivatives for the vegetation canopy
-  if(computeVegFlux) then ! (if vegetation is exposed)
-
-   ! ***** compute derivatives w.r.t. canopy temperature
-   ! NOTE: derivatives are zero because using canopy air space temperature
-   dCanopyResistance_dTCanopy = 0._dp ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
-   dGroundResistance_dTCanopy = 0._dp ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
-
-   ! ***** compute derivatives w.r.t. ground temperature (s m-1 K-1)
-   dGroundResistance_dTGround = -(groundResistanceNeutral*dGroundStabilityCorrection_dSfcTemp)/(groundStabilityCorrection**2._dp)
-
-   ! ***** compute derivatives w.r.t. temperature of the canopy air space (s m-1 K-1)
-   ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-   dCanopyResistance_dTCanair = -dCanopyStabilityCorrection_dCasTemp/(windspd*canopyExNeut*canopyStabilityCorrection**2._dp)
-   ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
-   ! (compute derivative in NEUTRAL ground resistance w.r.t. canopy air temperature (s m-1 K-1))
-   dFV_dT = windspd*canopyExNeut*dCanopyStabilityCorrection_dCasTemp/(sqrt(sfc2AtmExchangeCoeff_canopy)*2._dp)                         ! d(frictionVelocity)/d(canopy air temperature)
-   dED_dT = dFV_dT*vkc*(heightCanopyTopAboveSnow - zeroPlaneDisplacement)                                                              ! d(eddyDiffusCanopyTop)d(canopy air temperature)
-   dGR_dT = -dED_dT*(tmp1 - tmp2)*heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop**2._dp) ! d(groundResistanceNeutral)/d(canopy air temperature)
-   ! (stitch everything together -- product rule)
-   dGroundResistance_dTCanair = dGR_dT/groundStabilityCorrection - groundResistanceNeutral*dGroundStabilityCorrection_dCasTemp/(groundStabilityCorrection**2._dp)
-
-  ! ***** compute resistances for non-vegetated surfaces (e.g., snow)
-  else
-
-   ! set canopy derivatives to zero (non-vegetated, remember)
-   dCanopyResistance_dTCanopy = 0._dp
-   dGroundResistance_dTCanopy = 0._dp
-
-   ! compute derivatives for ground resistance
-   dGroundResistance_dTGround = -dGroundStabilityCorrection_dSfcTemp/(windspd*groundExNeut*groundStabilityCorrection**2._dp)
-
-  end if  ! (switch between vegetated and non-vegetated surfaces)
-
- ! * analytical derivatives not desired
- else
-  dGroundResistance_dTGround = missingValue
-  dGroundResistance_dTCanopy = missingValue
-  dCanopyResistance_dTCanopy = missingValue
- end if
-
- ! test
- !print*, 'dGroundResistance_dTGround = ', dGroundResistance_dTGround
- !print*, 'dGroundResistance_dTCanopy = ', dGroundResistance_dTCanopy
- !print*, 'dCanopyResistance_dTCanopy = ', dCanopyResistance_dTCanopy
- !pause 'in aeroResist'
-
- end subroutine aeroResist
-
-
- ! *******************************************************************************************************
- ! private subroutine soilResist: compute soil moisture factor controlling stomatal resistance
- ! *******************************************************************************************************
- subroutine soilResist(&
-                       ! input (model decisions)
-                       ixSoilResist,             & ! intent(in): choice of function for the soil moisture control on stomatal resistance
-                       ixGroundwater,            & ! intent(in): choice of groundwater representation
-                       ! input (state variables)
-                       mLayerMatricHead,         & ! intent(in): matric head in each layer (m)
-                       mLayerVolFracLiq,         & ! intent(in): volumetric fraction of liquid water in each layer
-                       scalarAquiferStorage,     & ! intent(in): aquifer storage (m)
-                       ! input (diagnostic variables)
-                       mLayerRootDensity,        & ! intent(in): root density in each layer (-)
-                       scalarAquiferRootFrac,    & ! intent(in): fraction of roots below the lowest unsaturated layer (-)
-                       ! input (parameters)
-                       plantWiltPsi,             & ! intent(in): matric head at wilting point (m)
-                       soilStressParam,          & ! intent(in): parameter in the exponential soil stress function (-)
-                       critSoilWilting,          & ! intent(in): critical vol. liq. water content when plants are wilting (-)
-                       critSoilTranspire,        & ! intent(in): critical vol. liq. water content when transpiration is limited (-)
-                       critAquiferTranspire,     & ! intent(in): critical aquifer storage value when transpiration is limited (m)
-                       ! output
-                       wAvgTranspireLimitFac,    & ! intent(out): weighted average of the transpiration limiting factor (-)
-                       mLayerTranspireLimitFac,  & ! intent(out): transpiration limiting factor in each layer (-)
-                       aquiferTranspireLimitFac, & ! intent(out): transpiration limiting factor for the aquifer (-)
-                       err,message)                ! intent(out): error control
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- USE mDecisions_module, only: NoahType,CLM_Type,SiB_Type  ! options for the choice of function for the soil moisture control on stomatal resistance
- USE mDecisions_module, only: bigBucket                   ! named variable that defines the "bigBucket" groundwater parameterization
- implicit none
- ! input (model decisions)
- integer(i4b),intent(in)       :: ixSoilResist             ! choice of function for the soil moisture control on stomatal resistance
- integer(i4b),intent(in)       :: ixGroundwater            ! choice of groundwater representation
- ! input (variables)
- real(dp),intent(in)           :: mLayerMatricHead(:)      ! matric head in each layer (m)
- real(dp),intent(in)           :: mLayerVolFracLiq(:)      ! volumetric fraction of liquid water in each layer (-)
- real(dp),intent(in)           :: scalarAquiferStorage     ! aquifer storage (m)
- ! input (diagnostic variables)
- real(dp),intent(in)           :: mLayerRootDensity(:)     ! root density in each layer (-)
- real(dp),intent(in)           :: scalarAquiferRootFrac    ! fraction of roots below the lowest unsaturated layer (-)
- ! input (parameters)
- real(dp),intent(in)           :: plantWiltPsi             ! matric head at wilting point (m)
- real(dp),intent(in)           :: soilStressParam          ! parameter in the exponential soil stress function (-)
- real(dp),intent(in)           :: critSoilWilting          ! critical vol. liq. water content when plants are wilting (-)
- real(dp),intent(in)           :: critSoilTranspire        ! critical vol. liq. water content when transpiration is limited (-)
- real(dp),intent(in)           :: critAquiferTranspire     ! critical aquifer storage value when transpiration is limited (m)
- ! output
- real(dp),intent(out)          :: wAvgTranspireLimitFac    ! intent(out): weighted average of the transpiration limiting factor (-)
- real(dp),intent(out)          :: mLayerTranspireLimitFac(:)  ! intent(out): transpiration limiting factor in each layer (-)
- real(dp),intent(out)          :: aquiferTranspireLimitFac ! intent(out): transpiration limiting factor for the aquifer (-)
- integer(i4b),intent(out)      :: err                      ! error code
- character(*),intent(out)      :: message                  ! error message
- ! local variables
- real(dp)                      :: gx                       ! stress function for the soil layers
- real(dp),parameter            :: verySmall=epsilon(gx)    ! a very small number
- integer(i4b)                  :: iLayer                   ! index of soil layer
- ! initialize error control
- err=0; message='soilResist/'
-
- ! ** compute the factor limiting transpiration for each soil layer (-)
- wAvgTranspireLimitFac = 0._dp  ! (initialize the weighted average)
- do iLayer=1,size(mLayerMatricHead)
-  ! compute the soil stress function
-  select case(ixSoilResist)
-   case(NoahType)  ! thresholded linear function of volumetric liquid water content
-    gx = (mLayerVolFracLiq(iLayer) - critSoilWilting) / (critSoilTranspire - critSoilWilting)
-   case(CLM_Type)  ! thresholded linear function of matric head
-    if(mLayerMatricHead(iLayer) > plantWiltPsi)then
-     gx = 1._dp - mLayerMatricHead(iLayer)/plantWiltPsi
-    else
-     gx = 0._dp
-    end if
-   case(SiB_Type)  ! exponential of the log of matric head
-    if(mLayerMatricHead(iLayer) < 0._dp)then  ! (unsaturated)
-     gx = 1._dp - exp( -soilStressParam * ( log(plantWiltPsi/mLayerMatricHead(iLayer)) ) )
-    else ! (saturated)
-     gx = 1._dp
-    end if
-   case default    ! check identified the option
-    err=20; message=trim(message)//'cannot identify option for soil resistance'; return
-  end select
-  ! save the factor for the given layer (ensure between zero and one)
-  mLayerTranspireLimitFac(iLayer) = min( max(verySmall,gx), 1._dp)
-  ! compute the weighted average (weighted by root density)
-  wAvgTranspireLimitFac = wAvgTranspireLimitFac + mLayerTranspireLimitFac(iLayer)*mLayerRootDensity(iLayer)
- end do ! (looping through soil layers)
-
- ! ** compute the factor limiting evaporation in the aquifer
- if(scalarAquiferRootFrac > verySmall)then
-  ! check that aquifer root fraction is allowed
-  if(ixGroundwater /= bigBucket)then
-   message=trim(message)//'aquifer evaporation only allowed for the big groundwater bucket -- increase the soil depth to account for roots'
-   err=20; return
-  end if
-  ! compute the factor limiting evaporation for the aquifer
-  aquiferTranspireLimitFac = min(scalarAquiferStorage/critAquiferTranspire, 1._dp)
- else  ! (if there are roots in the aquifer)
-  aquiferTranspireLimitFac = 0._dp
- end if
-
- ! compute the weighted average (weighted by root density)
- wAvgTranspireLimitFac = wAvgTranspireLimitFac + aquiferTranspireLimitFac*scalarAquiferRootFrac
-
- end subroutine soilResist
-
-
- ! ********************************************************************************
- ! private subroutine turbFluxes: compute turbulent heat fluxes
- ! ********************************************************************************
- subroutine turbFluxes(&
-                       ! input: model control
-                       computeVegFlux,                & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
-                       ixDerivMethod,                 & ! intent(in): choice of method used to compute derivative (analytical or numerical)
-                       ! input: above-canopy forcing data
-                       airtemp,                       & ! intent(in): air temperature at some height above the surface (K)
-                       airpres,                       & ! intent(in): air pressure of the air above the vegetation canopy (Pa)
-                       VPair,                         & ! intent(in): vapor pressure of the air above the vegetation canopy (Pa)
-                       ! input: latent heat of sublimation/vaporization
-                       latHeatSubVapCanopy,           & ! intent(in): latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
-                       latHeatSubVapGround,           & ! intent(in): latent heat of sublimation/vaporization for the ground surface (J kg-1)
-                       ! input: canopy and ground temperature
-                       canairTemp,                    & ! intent(in): temperature of the canopy air space (K)
-                       canopyTemp,                    & ! intent(in): canopy temperature (K)
-                       groundTemp,                    & ! intent(in): ground temperature (K)
-                       satVP_CanopyTemp,              & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
-                       satVP_GroundTemp,              & ! intent(in): saturation vapor pressure at the temperature of the ground (Pa)
-                       dSVPCanopy_dCanopyTemp,        & ! intent(in): derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
-                       dSVPGround_dGroundTemp,        & ! intent(in): derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
-                       ! input: diagnostic variables
-                       exposedVAI,                    & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
-                       canopyWetFraction,             & ! intent(in): fraction of canopy that is wet [0-1]
-                       dCanopyWetFraction_dWat,       & ! intent(in): derivative in the canopy wetted fraction w.r.t. total water content (kg-1 m-2)
-                       dCanopyWetFraction_dT,         & ! intent(in): derivative in wetted fraction w.r.t. canopy temperature (K-1)
-                       canopySunlitLAI,               & ! intent(in): sunlit leaf area (-)
-                       canopyShadedLAI,               & ! intent(in): shaded leaf area (-)
-                       soilRelHumidity,               & ! intent(in): relative humidity in the soil pores [0-1]
-                       soilResistance,                & ! intent(in): resistance from the soil (s m-1)
-                       leafResistance,                & ! intent(in): mean leaf boundary layer resistance per unit leaf area (s m-1)
-                       groundResistance,              & ! intent(in): below canopy aerodynamic resistance (s m-1)
-                       canopyResistance,              & ! intent(in): above canopy aerodynamic resistance (s m-1)
-                       stomResistSunlit,              & ! intent(in): stomatal resistance for sunlit leaves (s m-1)
-                       stomResistShaded,              & ! intent(in): stomatal resistance for shaded leaves (s m-1)
-                       ! input: derivatives in scalar resistances
-                       dGroundResistance_dTGround,    & ! intent(in): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
-                       dGroundResistance_dTCanopy,    & ! intent(in): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
-                       dGroundResistance_dTCanair,    & ! intent(in): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
-                       dCanopyResistance_dTCanopy,    & ! intent(in): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
-                       dCanopyResistance_dTCanair,    & ! intent(in): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
-                       ! output: conductances (used to check derivative calculations)
-                       leafConductance,               & ! intent(out): leaf conductance (m s-1)
-                       canopyConductance,             & ! intent(out): canopy conductance (m s-1)
-                       groundConductanceSH,           & ! intent(out): ground conductance for sensible heat (m s-1)
-                       groundConductanceLH,           & ! intent(out): ground conductance for latent heat -- includes soil resistance (m s-1)
-                       evapConductance,               & ! intent(out): conductance for evaporation (m s-1)
-                       transConductance,              & ! intent(out): conductance for transpiration (m s-1)
-                       totalConductanceSH,            & ! intent(out): total conductance for sensible heat (m s-1)
-                       totalConductanceLH,            & ! intent(out): total conductance for latent heat (m s-1)
-                       ! output: canopy air space variables
-                       VP_CanopyAir,                  & ! intent(out): vapor pressure of the canopy air space (Pa)
-                       ! output: fluxes from the vegetation canopy
-                       senHeatCanopy,                 & ! intent(out): sensible heat flux from the canopy to the canopy air space (W m-2)
-                       latHeatCanopyEvap,             & ! intent(out): latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
-                       latHeatCanopyTrans,            & ! intent(out): latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
-                       ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
-                       senHeatGround,                 & ! intent(out): sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
-                       latHeatGround,                 & ! intent(out): latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
-                       ! output: total heat fluxes to the atmosphere
-                       senHeatTotal,                  & ! intent(out): total sensible heat flux to the atmosphere (W m-2)
-                       latHeatTotal,                  & ! intent(out): total latent heat flux to the atmosphere (W m-2)
-                       ! output: net fluxes
-                       turbFluxCanair,                & ! intent(out): net turbulent heat fluxes at the canopy air space (W m-2)
-                       turbFluxCanopy,                & ! intent(out): net turbulent heat fluxes at the canopy (W m-2)
-                       turbFluxGround,                & ! intent(out): net turbulent heat fluxes at the ground surface (W m-2)
-                       ! output: flux derivatives
-                       dTurbFluxCanair_dTCanair,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
-                       dTurbFluxCanair_dTCanopy,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
-                       dTurbFluxCanair_dTGround,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
-                       dTurbFluxCanopy_dTCanair,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-                       dTurbFluxCanopy_dTCanopy,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-                       dTurbFluxCanopy_dTGround,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-                       dTurbFluxGround_dTCanair,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-                       dTurbFluxGround_dTCanopy,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-                       dTurbFluxGround_dTGround,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-                       ! output: liquid flux derivatives (canopy evap)
-                       dLatHeatCanopyEvap_dCanLiq,    & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
-                       dLatHeatCanopyEvap_dTCanair,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
-                       dLatHeatCanopyEvap_dTCanopy,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
-                       dLatHeatCanopyEvap_dTGround,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
-                       ! output: liquid flux derivatives (ground evap)
-                       dLatHeatGroundEvap_dCanLiq,    & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
-                       dLatHeatGroundEvap_dTCanair,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy air temperature
-                       dLatHeatGroundEvap_dTCanopy,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy temperature
-                       dLatHeatGroundEvap_dTGround,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. ground temperature
-                       ! output: cross derivatives
-                       dTurbFluxCanair_dCanLiq,       & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                       dTurbFluxCanopy_dCanLiq,       & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                       dTurbFluxGround_dCanLiq,       & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-                       ! output: error control
-                       err,message                    ) ! intent(out): error control
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- implicit none
- ! input: model control
- logical(lgt),intent(in)       :: computeVegFlux        ! logical flag to compute vegetation fluxes (.false. if veg buried by snow)
- integer(i4b),intent(in)       :: ixDerivMethod         ! choice of method used to compute derivative (analytical or numerical)
- ! input: above-canopy forcing data
- real(dp),intent(in)           :: airtemp               ! air temperature at some height above the surface (K)
- real(dp),intent(in)           :: airpres               ! air pressure of the air above the vegetation canopy (Pa)
- real(dp),intent(in)           :: VPair                 ! vapor pressure of the air above the vegetation canopy (Pa)
- ! input: latent heat of sublimation/vaporization
- real(dp),intent(in)           :: latHeatSubVapCanopy   ! latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
- real(dp),intent(in)           :: latHeatSubVapGround   ! latent heat of sublimation/vaporization for the ground surface (J kg-1)
- ! input: canopy and ground temperature
- real(dp),intent(in)           :: canairTemp            ! temperature of the canopy air space (K)
- real(dp),intent(in)           :: canopyTemp            ! canopy temperature (K)
- real(dp),intent(in)           :: groundTemp            ! ground temperature (K)
- real(dp),intent(in)           :: satVP_CanopyTemp      ! saturation vapor pressure at the temperature of the veg canopy (Pa)
- real(dp),intent(in)           :: satVP_GroundTemp      ! saturation vapor pressure at the temperature of the ground (Pa)
- real(dp),intent(in)           :: dSVPCanopy_dCanopyTemp  ! derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
- real(dp),intent(in)           :: dSVPGround_dGroundTemp  ! derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
- ! input: diagnostic variables
- real(dp),intent(in)           :: exposedVAI            ! exposed vegetation area index -- leaf plus stem (m2 m-2)
- real(dp),intent(in)           :: canopyWetFraction     ! fraction of canopy that is wet [0-1]
- real(dp),intent(in)           :: dCanopyWetFraction_dWat ! derivative in the canopy wetted fraction w.r.t. liquid water content (kg-1 m-2)
- real(dp),intent(in)           :: dCanopyWetFraction_dT   ! derivative in the canopy wetted fraction w.r.t. canopy temperature (K-1)
- real(dp),intent(in)           :: canopySunlitLAI       ! sunlit leaf area (-)
- real(dp),intent(in)           :: canopyShadedLAI       ! shaded leaf area (-)
- real(dp),intent(in)           :: soilRelHumidity       ! relative humidity in the soil pores [0-1]
- real(dp),intent(in)           :: soilResistance        ! resistance from the soil (s m-1)
- real(dp),intent(in)           :: leafResistance        ! mean leaf boundary layer resistance per unit leaf area (s m-1)
- real(dp),intent(in)           :: groundResistance      ! below canopy aerodynamic resistance (s m-1)
- real(dp),intent(in)           :: canopyResistance      ! above canopy aerodynamic resistance (s m-1)
- real(dp),intent(in)           :: stomResistSunlit      ! stomatal resistance for sunlit leaves (s m-1)
- real(dp),intent(in)           :: stomResistShaded      ! stomatal resistance for shaded leaves (s m-1)
- ! input: derivatives in scalar resistances
- real(dp),intent(in)            :: dGroundResistance_dTGround       ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
- real(dp),intent(in)            :: dGroundResistance_dTCanopy       ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp),intent(in)            :: dGroundResistance_dTCanair       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
- real(dp),intent(in)            :: dCanopyResistance_dTCanopy       ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
- real(dp),intent(in)            :: dCanopyResistance_dTCanair       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
- ! ---------------------------------------------------------------------------------------------------------------------------------------------------------------
- ! output: conductances -- used to test derivatives
- real(dp),intent(out)          :: leafConductance              ! leaf conductance (m s-1)
- real(dp),intent(out)          :: canopyConductance            ! canopy conductance (m s-1)
- real(dp),intent(out)          :: groundConductanceSH          ! ground conductance for sensible heat (m s-1)
- real(dp),intent(out)          :: groundConductanceLH          ! ground conductance for latent heat -- includes soil resistance (m s-1)
- real(dp),intent(out)          :: evapConductance              ! conductance for evaporation (m s-1)
- real(dp),intent(out)          :: transConductance             ! conductance for transpiration (m s-1)
- real(dp),intent(out)          :: totalConductanceSH           ! total conductance for sensible heat (m s-1)
- real(dp),intent(out)          :: totalConductanceLH           ! total conductance for latent heat (m s-1)
- ! output: canopy air space variables
- real(dp),intent(out)          :: VP_CanopyAir                 ! vapor pressure of the canopy air space (Pa)
- ! output: fluxes from the vegetation canopy
- real(dp),intent(out)          :: senHeatCanopy                ! sensible heat flux from the canopy to the canopy air space (W m-2)
- real(dp),intent(out)          :: latHeatCanopyEvap            ! latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
- real(dp),intent(out)          :: latHeatCanopyTrans           ! latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
- ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
- real(dp),intent(out)          :: senHeatGround                ! sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
- real(dp),intent(out)          :: latHeatGround                ! latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
- ! output: total heat fluxes to the atmosphere
- real(dp),intent(out)          :: senHeatTotal                 ! total sensible heat flux to the atmosphere (W m-2)
- real(dp),intent(out)          :: latHeatTotal                 ! total latent heat flux to the atmosphere (W m-2)
- ! output: net fluxes
- real(dp),intent(out)          :: turbFluxCanair               ! net turbulent heat fluxes at the canopy air space (W m-2)
- real(dp),intent(out)          :: turbFluxCanopy               ! net turbulent heat fluxes at the canopy (W m-2)
- real(dp),intent(out)          :: turbFluxGround               ! net turbulent heat fluxes at the ground surface (W m-2)
- ! output: energy flux derivatives
- real(dp),intent(out)          :: dTurbFluxCanair_dTCanair     ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxCanair_dTCanopy     ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxCanair_dTGround     ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxCanopy_dTCanair     ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxCanopy_dTCanopy     ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxCanopy_dTGround     ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxGround_dTCanair     ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxGround_dTCanopy     ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)          :: dTurbFluxGround_dTGround     ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
- ! output: liquid flux derivatives (canopy evap)
- real(dp),intent(out)          :: dLatHeatCanopyEvap_dCanLiq   ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (W kg-1)
- real(dp),intent(out)          :: dLatHeatCanopyEvap_dTCanair  ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLatHeatCanopyEvap_dTCanopy  ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLatHeatCanopyEvap_dTGround  ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
- ! output: liquid flux derivatives (ground evap)
- real(dp),intent(out)          :: dLatHeatGroundEvap_dCanLiq   ! derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
- real(dp),intent(out)          :: dLatHeatGroundEvap_dTCanair  ! derivative in latent heat of ground evaporation w.r.t. canopy air temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLatHeatGroundEvap_dTCanopy  ! derivative in latent heat of ground evaporation w.r.t. canopy temperature (W m-2 K-1)
- real(dp),intent(out)          :: dLatHeatGroundEvap_dTGround  ! derivative in latent heat of ground evaporation w.r.t. ground temperature (W m-2 K-1)
- ! output: cross derivatives
- real(dp),intent(out)          :: dTurbFluxCanair_dCanLiq      ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
- real(dp),intent(out)          :: dTurbFluxCanopy_dCanLiq      ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
- real(dp),intent(out)          :: dTurbFluxGround_dCanLiq      ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
- ! output: error control
- integer(i4b),intent(out)      :: err                          ! error code
- character(*),intent(out)      :: message                      ! error message
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! local variables -- general
- real(dp)                      :: fpart1,fpart2         ! different parts of a function
- real(dp)                      :: dPart0,dpart1,dpart2         ! derivatives for different parts of a function
- ! local variables -- "constants"
- real(dp)                      :: volHeatCapacityAir           ! volumetric heat capacity of air (J m-3)
- real(dp)                      :: latentHeatConstant           ! latent heat constant (kg m-3 K-1)
- ! local variables -- derivatives for energy conductances
- real(dp)                      :: dEvapCond_dCanopyTemp        ! derivative in evap conductance w.r.t. canopy temperature
- real(dp)                      :: dTransCond_dCanopyTemp       ! derivative in trans conductance w.r.t. canopy temperature
- real(dp)                      :: dCanopyCond_dCanairTemp      ! derivative in canopy conductance w.r.t. canopy air temperature
- real(dp)                      :: dCanopyCond_dCanopyTemp      ! derivative in canopy conductance w.r.t. canopy temperature
- real(dp)                      :: dGroundCondSH_dCanairTemp    ! derivative in ground conductance of sensible heat w.r.t. canopy air temperature
- real(dp)                      :: dGroundCondSH_dCanopyTemp    ! derivative in ground conductance of sensible heat w.r.t. canopy temperature
- real(dp)                      :: dGroundCondSH_dGroundTemp    ! derivative in ground conductance of sensible heat w.r.t. ground temperature
- ! local variables -- derivatives for mass conductances
- real(dp)                      :: dGroundCondLH_dCanairTemp    ! derivative in ground conductance w.r.t. canopy air temperature
- real(dp)                      :: dGroundCondLH_dCanopyTemp    ! derivative in ground conductance w.r.t. canopy temperature
- real(dp)                      :: dGroundCondLH_dGroundTemp    ! derivative in ground conductance w.r.t. ground temperature
- ! local variables -- derivatives for the canopy air space variables
- real(dp)                      :: fPart_VP                     ! part of the function for vapor pressure of the canopy air space
- real(dp)                      :: leafConductanceTr            ! leaf conductance for transpiration (m s-1)
- real(dp)                      :: dVPCanopyAir_dTCanair        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the canopy air space
- real(dp)                      :: dVPCanopyAir_dTCanopy        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the canopy
- real(dp)                      :: dVPCanopyAir_dTGround        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the ground
- real(dp)                      :: dVPCanopyAir_dWetFrac        ! derivative of vapor pressure in the canopy air space w.r.t. wetted fraction of the canopy
- real(dp)                      :: dVPCanopyAir_dCanLiq         ! derivative of vapor pressure in the canopy air space w.r.t. canopy liquid water content
- ! local variables -- sensible heat flux derivatives
- real(dp)                      :: dSenHeatTotal_dTCanair       ! derivative in the total sensible heat flux w.r.t. canopy air temperature
- real(dp)                      :: dSenHeatTotal_dTCanopy       ! derivative in the total sensible heat flux w.r.t. canopy air temperature
- real(dp)                      :: dSenHeatTotal_dTGround       ! derivative in the total sensible heat flux w.r.t. ground temperature
- real(dp)                      :: dSenHeatCanopy_dTCanair      ! derivative in the canopy sensible heat flux w.r.t. canopy air temperature
- real(dp)                      :: dSenHeatCanopy_dTCanopy      ! derivative in the canopy sensible heat flux w.r.t. canopy temperature
- real(dp)                      :: dSenHeatCanopy_dTGround      ! derivative in the canopy sensible heat flux w.r.t. ground temperature
- real(dp)                      :: dSenHeatGround_dTCanair      ! derivative in the ground sensible heat flux w.r.t. canopy air temperature
- real(dp)                      :: dSenHeatGround_dTCanopy      ! derivative in the ground sensible heat flux w.r.t. canopy temperature
- real(dp)                      :: dSenHeatGround_dTGround      ! derivative in the ground sensible heat flux w.r.t. ground temperature
- ! local variables -- latent heat flux derivatives
- real(dp)                      :: dLatHeatCanopyTrans_dTCanair ! derivative in the canopy transpiration flux w.r.t. canopy air temperature
- real(dp)                      :: dLatHeatCanopyTrans_dTCanopy ! derivative in the canopy transpiration flux w.r.t. canopy temperature
- real(dp)                      :: dLatHeatCanopyTrans_dTGround ! derivative in the canopy transpiration flux w.r.t. ground temperature
- ! local variables -- wetted fraction derivatives
- real(dp)                      :: dLatHeatCanopyEvap_dWetFrac  ! derivative in the latent heat of canopy evaporation w.r.t. canopy wet fraction (W m-2)
- real(dp)                      :: dLatHeatCanopyTrans_dWetFrac ! derivative in the latent heat of canopy transpiration w.r.t. canopy wet fraction (W m-2)
- real(dp)                      :: dLatHeatCanopyTrans_dCanLiq  ! derivative in the latent heat of canopy transpiration w.r.t. canopy liquid water (J kg-1 s-1)
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message='turbFluxes/'
-
- ! compute constants
- volHeatCapacityAir = iden_air*cp_air           ! volumetric heat capacity of air (J m-3)
- latentHeatConstant = iden_air*w_ratio/airpres  ! latent heat constant for (kg m-3 Pa-1)
-
- ! *****
- ! * compute conductances, and derivatives...
- ! ******************************************
-
- ! compute conductances for sensible heat (m s-1)
- if(computeVegFlux)then
-  leafConductance    = exposedVAI/leafResistance
-  leafConductanceTr  = canopySunlitLAI/(leafResistance+stomResistSunlit) + canopyShadedLAI/(leafResistance+stomResistShaded)
-  canopyConductance  = 1._dp/canopyResistance
- else
-  leafConductance    = 0._dp
-  canopyConductance  = 0._dp
- end if
- groundConductanceSH = 1._dp/groundResistance
-
- ! compute total conductance for sensible heat
- totalConductanceSH  = leafConductance + groundConductanceSH + canopyConductance
-
- ! compute conductances for latent heat (m s-1)
- if(computeVegFlux)then
-  evapConductance    = canopyWetFraction*leafConductance
-  transConductance   = (1._dp - canopyWetFraction) * leafConductanceTr
-  !write(*,'(a,10(f14.8,1x))') 'canopySunlitLAI, canopyShadedLAI, stomResistSunlit, stomResistShaded, leafResistance, canopyWetFraction = ', &
-  !                             canopySunlitLAI, canopyShadedLAI, stomResistSunlit, stomResistShaded, leafResistance, canopyWetFraction
- else
-  evapConductance    = 0._dp
-  transConductance   = 0._dp
- end if
- groundConductanceLH = 1._dp/(groundResistance + soilResistance)  ! NOTE: soilResistance accounts for fractional snow, and =0 when snow cover is 100%
- totalConductanceLH  = evapConductance + transConductance + groundConductanceLH + canopyConductance
- ! check sensible heat conductance
- if(totalConductanceSH < -tinyVal .or. groundConductanceSH < -tinyVal .or. canopyConductance < -tinyVal)then
-  message=trim(message)//'negative conductance for sensible heat'
-  err=20; return
- endif
-
- ! check latent heat conductance
- if(totalConductanceLH < tinyVal .or. groundConductanceLH < -tinyVal)then
-  message=trim(message)//'negative conductance for latent heat'
-  err=20; return
- endif
-
- ! * compute derivatives
- ! NOTE: it may be more efficient to compute these derivatives when computing resistances
- if(ixDerivMethod == analytical)then
-
-  ! compute derivatives in individual conductances for sensible heat w.r.t. canopy temperature (m s-1 K-1)
-  if(computeVegFlux)then
-   dEvapCond_dCanopyTemp     = dCanopyWetFraction_dT*leafConductance                       ! derivative in evap conductance w.r.t. canopy temperature
-   dTransCond_dCanopyTemp    = -dCanopyWetFraction_dT*leafConductanceTr                    ! derivative in trans conductance w.r.t. canopy temperature
-   dCanopyCond_dCanairTemp   = -dCanopyResistance_dTCanair/canopyResistance**2._dp         ! derivative in canopy conductance w.r.t. canopy air emperature
-   dCanopyCond_dCanopyTemp   = -dCanopyResistance_dTCanopy/canopyResistance**2._dp         ! derivative in canopy conductance w.r.t. canopy temperature
-   dGroundCondSH_dCanairTemp = -dGroundResistance_dTCanair/groundResistance**2._dp         ! derivative in ground conductance w.r.t. canopy air temperature
-   dGroundCondSH_dCanopyTemp = -dGroundResistance_dTCanopy/groundResistance**2._dp         ! derivative in ground conductance w.r.t. canopy temperature
-   dGroundCondSH_dGroundTemp = -dGroundResistance_dTGround/groundResistance**2._dp         ! derivative in ground conductance w.r.t. ground temperature
-  else
-   dEvapCond_dCanopyTemp     = 0._dp  ! derivative in evap conductance w.r.t. canopy temperature
-   dTransCond_dCanopyTemp    = 0._dp  ! derivative in trans conductance w.r.t. canopy temperature
-   dCanopyCond_dCanairTemp   = 0._dp  ! derivative in canopy conductance w.r.t. canopy air emperature
-   dCanopyCond_dCanopyTemp   = 0._dp  ! derivative in canopy conductance w.r.t. canopy temperature
-   dGroundCondSH_dCanairTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy air temperature
-   dGroundCondSH_dCanopyTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy temperature
-   dGroundCondSH_dGroundTemp = -dGroundResistance_dTGround/groundResistance**2._dp         ! derivative in ground conductance w.r.t. ground temperature
-  end if
-
-  ! compute derivatives in individual conductances for latent heat w.r.t. canopy temperature (m s-1 K-1)
-  if(computeVegFlux)then
-   dGroundCondLH_dCanairTemp = -dGroundResistance_dTCanair/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. canopy air temperature
-   dGroundCondLH_dCanopyTemp = -dGroundResistance_dTCanopy/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. canopy temperature
-   dGroundCondLH_dGroundTemp = -dGroundResistance_dTGround/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. ground temperature
-  else
-   dGroundCondLH_dCanairTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy air temperature
-   dGroundCondLH_dCanopyTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy temperature
-   dGroundCondLH_dGroundTemp = -dGroundResistance_dTGround/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. ground temperature
-  end if
-
- end if ! (if computing analytical derivatives)
-
- ! *****
- ! * compute sensible and latent heat fluxes, and derivatives...
- ! *************************************************************
-
- ! * compute sensible and latent heat fluxes from the canopy to the canopy air space (W m-2)
- if(computeVegFlux)then
-
-  ! compute the vapor pressure in the canopy air space (Pa)
-  fPart_VP     = canopyConductance*VPair + (evapConductance + transConductance)*satVP_CanopyTemp + groundConductanceLH*satVP_GroundTemp*soilRelHumidity
-  VP_CanopyAir = fPart_VP/totalConductanceLH
-  !write(*,'(a,10(f20.10,1x))') 'canopyConductance, evapConductance, transConductance, groundConductanceLH, soilRelHumidity = ', &
-  !                              canopyConductance, evapConductance, transConductance, groundConductanceLH, soilRelHumidity
-
-  ! compute sensible heat flux from the canopy air space to the atmosphere
-  ! NOTE: canairTemp is a state variable
-  senHeatTotal = -volHeatCapacityAir*canopyConductance*(canairTemp - airtemp)
-  !print*, 'canairTemp, airtemp, senHeatTotal = ', canairTemp, airtemp, senHeatTotal
-
-  ! compute fluxes
-  senHeatCanopy      = -volHeatCapacityAir*leafConductance*(canopyTemp - canairTemp)        ! (positive downwards)
-  latHeatCanopyEvap  = -latHeatSubVapCanopy*latentHeatConstant*evapConductance*(satVP_CanopyTemp - VP_CanopyAir)    ! (positive downwards)
-  latHeatCanopyTrans =              -LH_vap*latentHeatConstant*transConductance*(satVP_CanopyTemp - VP_CanopyAir)   ! (positive downwards)
-  !write(*,'(a,10(f25.15,1x))') 'latHeatCanopyEvap, VP_CanopyAir = ', latHeatCanopyEvap, VP_CanopyAir
-  !write(*,'(a,10(f25.15,1x))') 'latHeatCanopyTrans, VP_CanopyAir = ', latHeatCanopyTrans, VP_CanopyAir
-  !write(*,'(a,10(f25.15,1x))') 'transConductance = ', transConductance
-
-  ! check that energy for canopy evaporation does not exhaust the available water
-  ! NOTE: do this here, rather than enforcing solution constraints, because energy and mass solutions may be uncoupled
-  !if(latHeatSubVapCanopy > LH_vap+verySmall)then ! (sublimation)
-  ! maxFlux = -canopyIce*LH_sub/dt       ! W m-2
-  !else ! (evaporation)
-  ! maxFlux = -canopyLiquid*LH_vap/dt    ! W m-2
-  !end if
-  ! NOTE: fluxes are positive downwards
-  !if(latHeatCanopyEvap < maxFlux) latHeatCanopyEvap = maxFlux
-  !write(*,'(a,10(f20.10,1x))') 'maxFlux, latHeatCanopyEvap = ', maxFlux, latHeatCanopyEvap
-
- ! * no vegetation, so fluxes are zero
- else
-  senHeatCanopy      = 0._dp
-  latHeatCanopyEvap  = 0._dp
-  latHeatCanopyTrans = 0._dp
- end if
-
- ! compute sensible and latent heat fluxes from the ground to the canopy air space (W m-2)
- if(computeVegFlux)then
-  senHeatGround      = -volHeatCapacityAir*groundConductanceSH*(groundTemp - canairTemp)                                          ! (positive downwards)
-  latHeatGround      = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH*(satVP_GroundTemp*soilRelHumidity - VP_CanopyAir)  ! (positive downwards)
- else
-  senHeatGround      = -volHeatCapacityAir*groundConductanceSH*(groundTemp - airtemp)                                                 ! (positive downwards)
-  latHeatGround      = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH*(satVP_GroundTemp*soilRelHumidity - VPair)         ! (positive downwards)
-  senHeatTotal       = senHeatGround
- end if
-!  print*, "-volHeatCapacitAir = ", volHeatCapacityAir
-!  print*, "groundConductanceSH = ", groundConductanceSH
-!  print*, "groundTemp = ", groundTemp
-!  print*, "canairTemp = ", canairTemp
-!  print*, "latHeatSubVapGround", -latHeatSubVapGround
-!  print*, "latentHeatConstant", latentHeatConstant
-!  print*, "groundConductanceLH", groundConductanceLH
-!  print*, "satVP_GroundTemp", satVP_GroundTemp
-!  print*, "soilRelHumidity", soilRelHumidity
-!  print*, "VP_CanopyAir", VP_CanopyAir
-
-
-!  write(*,'(a,10(f25.15,1x))') 'latHeatGround = ', latHeatGround
-
- ! compute latent heat flux from the canopy air space to the atmosphere
- ! NOTE: VP_CanopyAir is a diagnostic variable
- latHeatTotal = latHeatCanopyEvap + latHeatCanopyTrans + latHeatGround
-
- ! * compute derivatives
- if(ixDerivMethod == analytical)then
-
-  ! differentiate CANOPY fluxes
-  if(computeVegFlux)then
-
-   ! compute derivatives of vapor pressure in the canopy air space w.r.t. all state variables
-   ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the canopy air space)
-   dPart1 = dCanopyCond_dCanairTemp*VPair + dGroundCondLH_dCanairTemp*satVP_GroundTemp*soilRelHumidity
-   dPart2 = -(dCanopyCond_dCanairTemp + dGroundCondLH_dCanairTemp)/(totalConductanceLH**2._dp)
-   dVPCanopyAir_dTCanair = dPart1/totalConductanceLH + fPart_VP*dPart2
-   ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the canopy)
-   dPart0 = (evapConductance + transConductance)*dSVPCanopy_dCanopyTemp + (dEvapCond_dCanopyTemp + dTransCond_dCanopyTemp)*satVP_CanopyTemp
-   dPart1 = dCanopyCond_dCanopyTemp*VPair + dPart0 + dGroundCondLH_dCanopyTemp*satVP_GroundTemp*soilRelHumidity
-   dPart2 = -(dCanopyCond_dCanopyTemp + dEvapCond_dCanopyTemp + dTransCond_dCanopyTemp + dGroundCondLH_dCanopyTemp)/(totalConductanceLH**2._dp)
-   dVPCanopyAir_dTCanopy = dPart1/totalConductanceLH + fPart_VP*dPart2
-   ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the ground)
-   dPart1 = dGroundCondLH_dGroundTemp*satVP_GroundTemp*soilRelHumidity + groundConductanceLH*dSVPGround_dGroundTemp*soilRelHumidity
-   dPart2 = -dGroundCondLH_dGroundTemp/(totalConductanceLH**2._dp)
-   dVPCanopyAir_dTGround = dPart1/totalConductanceLH + fPart_VP*dPart2
-   ! (derivative of vapor pressure in the canopy air space w.r.t. wetted fraction of the canopy)
-   dPart1 = (leafConductance - leafConductanceTr)*satVP_CanopyTemp
-   dPart2 = -(leafConductance - leafConductanceTr)/(totalConductanceLH**2._dp)
-   dVPCanopyAir_dWetFrac = dPart1/totalConductanceLH + fPart_VP*dPart2
-   dVPCanopyAir_dCanLiq  = dVPCanopyAir_dWetFrac*dCanopyWetFraction_dWat
-   !write(*,'(a,5(f20.8,1x))') 'dVPCanopyAir_dTCanair, dVPCanopyAir_dTCanopy, dVPCanopyAir_dTGround, dVPCanopyAir_dWetFrac, dVPCanopyAir_dCanLiq = ', &
-   !                            dVPCanopyAir_dTCanair, dVPCanopyAir_dTCanopy, dVPCanopyAir_dTGround, dVPCanopyAir_dWetFrac, dVPCanopyAir_dCanLiq
-
-   ! sensible heat from the canopy to the atmosphere
-   dSenHeatTotal_dTCanair       = -volHeatCapacityAir*canopyConductance - volHeatCapacityAir*dCanopyCond_dCanairTemp*(canairTemp - airtemp)
-   dSenHeatTotal_dTCanopy       = -volHeatCapacityAir*dCanopyCond_dCanopyTemp*(canairTemp - airtemp)
-   dSenHeatTotal_dTGround       = 0._dp
-   !write(*,'(a,3(f20.8,1x))') 'dSenHeatTotal_dTCanair, dSenHeatTotal_dTCanopy, dSenHeatTotal_dTGround                   = ', &
-   !                            dSenHeatTotal_dTCanair, dSenHeatTotal_dTCanopy, dSenHeatTotal_dTGround
-
-   ! sensible heat from the canopy to the canopy air space
-   dSenHeatCanopy_dTCanair      =  volHeatCapacityAir*leafConductance
-   dSenHeatCanopy_dTCanopy      = -volHeatCapacityAir*leafConductance
-   dSenHeatCanopy_dTGround      = 0._dp
-   !write(*,'(a,3(f20.8,1x))') 'dSenHeatCanopy_dTCanair, dSenHeatCanopy_dTCanopy, dSenHeatCanopy_dTGround                = ', &
-   !                            dSenHeatCanopy_dTCanair, dSenHeatCanopy_dTCanopy, dSenHeatCanopy_dTGround
-
-   ! sensible heat from the ground to the canopy air space
-   dSenHeatGround_dTCanair      = -volHeatCapacityAir*dGroundCondSH_dCanairTemp*(groundTemp - canairTemp) + volHeatCapacityAir*groundConductanceSH
-   dSenHeatGround_dTCanopy      = -volHeatCapacityAir*dGroundCondSH_dCanopyTemp*(groundTemp - canairTemp)
-   dSenHeatGround_dTGround      = -volHeatCapacityAir*dGroundCondSH_dGroundTemp*(groundTemp - canairTemp) - volHeatCapacityAir*groundConductanceSH
-   !write(*,'(a,3(f20.8,1x))') 'dSenHeatGround_dTCanair, dSenHeatGround_dTCanopy, dSenHeatGround_dTGround                = ', &
-   !                            dSenHeatGround_dTCanair, dSenHeatGround_dTCanopy, dSenHeatGround_dTGround
-
-   ! latent heat associated with canopy evaporation
-   ! (initial calculations)
-   fPart1 = -latHeatSubVapCanopy*latentHeatConstant*evapConductance
-   dPart1 = -latHeatSubVapCanopy*latentHeatConstant*dEvapCond_dCanopyTemp
-   fPart2 = satVP_CanopyTemp - VP_CanopyAir
-   dPart2 = dSVPCanopy_dCanopyTemp - dVPCanopyAir_dTCanopy
-   ! (derivatives)
-   dLatHeatCanopyEvap_dTCanair  = fPart1*(-dVPCanopyAir_dTCanair)
-   dLatHeatCanopyEvap_dTCanopy  = fPart1*dpart2 + fPart2*dPart1
-   dLatHeatCanopyEvap_dTGround  = fPart1*(-dVPCanopyAir_dTGround)
-   !write(*,'(a,3(f20.8,1x))') 'dLatHeatCanopyEvap_dTCanair, dLatHeatCanopyEvap_dTCanopy, dLatHeatCanopyEvap_dTGround    = ', &
-   !                            dLatHeatCanopyEvap_dTCanair, dLatHeatCanopyEvap_dTCanopy, dLatHeatCanopyEvap_dTGround
-
-   ! latent heat associated with canopy transpiration
-   ! (initial calculations)
-   fPart1 = -LH_vap*latentHeatConstant*transConductance
-   dPart1 = -LH_vap*latentHeatConstant*dTransCond_dCanopyTemp
-   ! (derivatives)
-   dLatHeatCanopyTrans_dTCanair = fPart1*(-dVPCanopyAir_dTCanair)
-   dLatHeatCanopyTrans_dTCanopy = fPart1*dPart2 + fPart2*dPart1
-   dLatHeatCanopyTrans_dTGround = fPart1*(-dVPCanopyAir_dTGround)
-   !write(*,'(a,3(f20.8,1x))') 'dLatHeatCanopyTrans_dTCanair, dLatHeatCanopyTrans_dTCanopy, dLatHeatCanopyTrans_dTGround = ', &
-   !                            dLatHeatCanopyTrans_dTCanair, dLatHeatCanopyTrans_dTCanopy, dLatHeatCanopyTrans_dTGround
-
-   ! latent heat flux from the ground
-   fPart1 = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH       ! function of the first part
-   fPart2 = (satVP_GroundTemp*soilRelHumidity - VP_CanopyAir)                 ! function of the second part
-   dLatHeatGroundEvap_dTCanair = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dCanairTemp*fPart2 - dVPCanopyAir_dTCanair*fPart1
-   dLatHeatGroundEvap_dTCanopy = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dCanopyTemp*fPart2 - dVPCanopyAir_dTCanopy*fPart1
-   dLatHeatGroundEvap_dTGround = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dGroundTemp*fPart2 + (dSVPGround_dGroundTemp*soilRelHumidity - dVPCanopyAir_dTGround)*fPart1
-   !write(*,'(a,3(f20.8,1x))') 'dLatHeatGroundEvap_dTCanair, dLatHeatGroundEvap_dTCanopy, dLatHeatGroundEvap_dTGround                = ', &
-   !                            dLatHeatGroundEvap_dTCanair, dLatHeatGroundEvap_dTCanopy, dLatHeatGroundEvap_dTGround
-
-   ! latent heat associated with canopy evaporation w.r.t. wetted fraction of the canopy
-   dPart1 = -latHeatSubVapCanopy*latentHeatConstant*leafConductance
-   fPart1 = dPart1*canopyWetFraction
-   dLatHeatCanopyEvap_dWetFrac  = dPart1*(satVP_CanopyTemp - VP_CanopyAir) + fPart1*(-dVPCanopyAir_dWetFrac)
-
-   ! latent heat associated with canopy transpiration w.r.t. wetted fraction of the canopy
-   dPart1 = LH_vap*latentHeatConstant*leafConductanceTr  ! NOTE: positive, since (1 - wetFrac)
-   fPart1 = -dPart1*(1._dp - canopyWetFraction)
-   dLatHeatCanopyTrans_dWetFrac = dPart1*(satVP_CanopyTemp - VP_CanopyAir) + fPart1*(-dVPCanopyAir_dWetFrac)
-   !print*, 'dLatHeatCanopyTrans_dWetFrac = ', dLatHeatCanopyTrans_dWetFrac
-
-   ! latent heat associated with canopy transpiration w.r.t. canopy liquid water
-   dLatHeatCanopyTrans_dCanLiq = dLatHeatCanopyTrans_dWetFrac*dCanopyWetFraction_dWat ! (J s-1 kg-1)
-   !print*, 'dLatHeatCanopyTrans_dCanLiq = ', dLatHeatCanopyTrans_dCanLiq
-
-  else  ! canopy is undefined
-
-   ! set derivatives for canopy fluxes to zero (no canopy, so fluxes are undefined)
-   dSenHeatTotal_dTCanair       = 0._dp
-   dSenHeatTotal_dTCanopy       = 0._dp
-   dSenHeatTotal_dTGround       = 0._dp
-   dSenHeatCanopy_dTCanair      = 0._dp
-   dSenHeatCanopy_dTCanopy      = 0._dp
-   dSenHeatCanopy_dTGround      = 0._dp
-   dLatHeatCanopyEvap_dTCanair  = 0._dp
-   dLatHeatCanopyEvap_dTCanopy  = 0._dp
-   dLatHeatCanopyEvap_dTGround  = 0._dp
-   dLatHeatCanopyTrans_dTCanair = 0._dp
-   dLatHeatCanopyTrans_dTCanopy = 0._dp
-   dLatHeatCanopyTrans_dTGround = 0._dp
-
-   ! set derivatives for wetted area and canopy transpiration to zero (no canopy, so fluxes are undefined)
-   dLatHeatCanopyEvap_dWetFrac  = 0._dp
-   dLatHeatCanopyEvap_dCanLiq   = 0._dp
-   dLatHeatCanopyTrans_dCanLiq  = 0._dp
-   dVPCanopyAir_dCanLiq         = 0._dp
-
-   ! set derivatives for ground fluxes w.r.t canopy temperature to zero (no canopy, so fluxes are undefined)
-   dSenHeatGround_dTCanair     = 0._dp
-   dSenHeatGround_dTCanopy     = 0._dp
-   dLatHeatGroundEvap_dTCanair = 0._dp
-   dLatHeatGroundEvap_dTCanopy = 0._dp
-
-   ! compute derivatives for the ground fluxes w.r.t. ground temperature
-   dSenHeatGround_dTGround     = (-volHeatCapacityAir*dGroundCondSH_dGroundTemp)*(groundTemp - airtemp) + &                                               ! d(ground sensible heat flux)/d(ground temp)
-                                 (-volHeatCapacityAir*groundConductanceSH)
-   dLatHeatGroundEvap_dTGround = (-latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dGroundTemp)*(satVP_GroundTemp*soilRelHumidity - VPair) + &       ! d(ground latent heat flux)/d(ground temp)
-                                 (-latHeatSubVapGround*latentHeatConstant*groundConductanceLH)*dSVPGround_dGroundTemp*soilRelHumidity
-
-   !print*, 'dGroundCondLH_dGroundTemp = ', dGroundCondLH_dGroundTemp
-
-  end if   ! (if canopy is defined)
-
- end if  ! (if computing analytical derivatives)
-
-
- ! *****
- ! * compute net turbulent fluxes, and derivatives...
- ! **************************************************
-
- ! compute net fluxes
- turbFluxCanair = senHeatTotal - senHeatCanopy - senHeatGround            ! net turbulent flux at the canopy air space (W m-2)
- turbFluxCanopy = senHeatCanopy + latHeatCanopyEvap + latHeatCanopyTrans  ! net turbulent flux at the canopy (W m-2)
- turbFluxGround = senHeatGround + latHeatGround                           ! net turbulent flux at the ground surface (W m-2)
- !write(*,'(a,1x,3(f20.10,1x))') 'senHeatCanopy, latHeatCanopyEvap, latHeatCanopyTrans = ', senHeatCanopy, latHeatCanopyEvap, latHeatCanopyTrans
-
-  ! * compute derivatives
- if(ixDerivMethod == analytical)then
-  ! (energy derivatives)
-  dTurbFluxCanair_dTCanair = dSenHeatTotal_dTCanair - dSenHeatCanopy_dTCanair - dSenHeatGround_dTCanair            ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
-  dTurbFluxCanair_dTCanopy = dSenHeatTotal_dTCanopy - dSenHeatCanopy_dTCanopy - dSenHeatGround_dTCanopy            ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
-  dTurbFluxCanair_dTGround = dSenHeatTotal_dTGround - dSenHeatCanopy_dTGround - dSenHeatGround_dTGround            ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
-  dTurbFluxCanopy_dTCanair = dSenHeatCanopy_dTCanair + dLatHeatCanopyEvap_dTCanair + dLatHeatCanopyTrans_dTCanair  ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-  dTurbFluxCanopy_dTCanopy = dSenHeatCanopy_dTCanopy + dLatHeatCanopyEvap_dTCanopy + dLatHeatCanopyTrans_dTCanopy  ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-  dTurbFluxCanopy_dTGround = dSenHeatCanopy_dTGround + dLatHeatCanopyEvap_dTGround + dLatHeatCanopyTrans_dTGround  ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-  dTurbFluxGround_dTCanair = dSenHeatGround_dTCanair + dLatHeatGroundEvap_dTCanair                                 ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
-  dTurbFluxGround_dTCanopy = dSenHeatGround_dTCanopy + dLatHeatGroundEvap_dTCanopy                                 ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
-  dTurbFluxGround_dTGround = dSenHeatGround_dTGround + dLatHeatGroundEvap_dTGround                                 ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
-  ! (liquid water derivatives)
-  dLatHeatCanopyEvap_dCanLiq = dLatHeatCanopyEvap_dWetFrac*dCanopyWetFraction_dWat                                 ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water (W kg-1)
-  dLatHeatGroundEvap_dCanLiq = latHeatSubVapGround*latentHeatConstant*groundConductanceLH*dVPCanopyAir_dCanLiq     ! derivative in latent heat of ground evaporation w.r.t. canopy liquid water (J kg-1 s-1)
-  ! (cross deriavtives)
-  dTurbFluxCanair_dCanLiq  = 0._dp                                                                                 ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-  dTurbFluxCanopy_dCanLiq  = dLatHeatCanopyEvap_dCanLiq + dLatHeatCanopyTrans_dCanLiq                              ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
-  dTurbFluxGround_dCanLiq  = dLatHeatGroundEvap_dCanLiq                                                            ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
- else ! (just make sure we return something)
-  ! (energy derivatives)
-  dTurbFluxCanair_dTCanair = 0._dp
-  dTurbFluxCanair_dTCanopy = 0._dp
-  dTurbFluxCanair_dTGround = 0._dp
-  dTurbFluxCanopy_dTCanair = 0._dp
-  dTurbFluxCanopy_dTCanopy = 0._dp
-  dTurbFluxCanopy_dTGround = 0._dp
-  dTurbFluxGround_dTCanair = 0._dp
-  dTurbFluxGround_dTCanopy = 0._dp
-  dTurbFluxGround_dTGround = 0._dp
-  ! (liquid water derivatives)
-  dLatHeatCanopyEvap_dCanLiq   = 0._dp
-  dLatHeatGroundEvap_dCanLiq   = 0._dp
-  ! (cross deriavtives)
-  dTurbFluxCanair_dCanLiq  = 0._dp
-  dTurbFluxCanopy_dCanLiq  = 0._dp
-  dTurbFluxGround_dCanLiq  = 0._dp
- end if
-
- end subroutine turbFluxes
-
-
- ! *******************************************************************************************************
- ! private subroutine aStability: compute stability corrections for turbulent heat fluxes (-)
- ! *******************************************************************************************************
- subroutine aStability(&
-                       ! input: control
-                       computeDerivative,              & ! input: logical flag to compute analytical derivatives
-                       ixStability,                    & ! input: choice of stability function
-                       ! input: forcing data, diagnostic and state variables
-                       mHeight,                        & ! input: measurement height (m)
-                       airTemp,                        & ! input: air temperature (K)
-                       sfcTemp,                        & ! input: surface temperature (K)
-                       windspd,                        & ! input: wind speed (m s-1)
-                       ! input: stability parameters
-                       critRichNumber,                 & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
-                       Louis79_bparam,                 & ! input: parameter in Louis (1979) stability function
-                       Mahrt87_eScale,                 & ! input: exponential scaling factor in the Mahrt (1987) stability function
-                       ! output
-                       RiBulk,                         & ! output: bulk Richardson number (-)
-                       stabilityCorrection,            & ! output: stability correction for turbulent heat fluxes (-)
-                       dStabilityCorrection_dRich,     & ! output: derivative in stability correction w.r.t. Richardson number (-)
-                       dStabilityCorrection_dAirTemp,  & ! output: derivative in stability correction w.r.t. temperature (K-1)
-                       dStabilityCorrection_dSfcTemp,  & ! output: derivative in stability correction w.r.t. temperature (K-1)
-                       err, message                    ) ! output: error control
- implicit none
- ! input: control
- logical(lgt),intent(in)       :: computeDerivative      ! flag to compute the derivative
- integer(i4b),intent(in)       :: ixStability            ! choice of stability function
- ! input: forcing data, diagnostic and state variables
- real(dp),intent(in)           :: mHeight                ! measurement height (m)
- real(dp),intent(in)           :: airtemp                ! air temperature (K)
- real(dp),intent(in)           :: sfcTemp                ! surface temperature (K)
- real(dp),intent(in)           :: windspd                ! wind speed (m s-1)
- ! input: stability parameters
- real(dp),intent(in)           :: critRichNumber         ! critical value for the bulk Richardson number where turbulence ceases (-)
- real(dp),intent(in)           :: Louis79_bparam         ! parameter in Louis (1979) stability function
- real(dp),intent(in)           :: Mahrt87_eScale         ! exponential scaling factor in the Mahrt (1987) stability function
- ! output
- real(dp),intent(out)          :: RiBulk                 ! bulk Richardson number (-)
- real(dp),intent(out)          :: stabilityCorrection    ! stability correction for turbulent heat fluxes (-)
- real(dp),intent(out)          :: dStabilityCorrection_dRich    ! derivative in stability correction w.r.t. Richardson number (-)
- real(dp),intent(out)          :: dStabilityCorrection_dAirTemp ! derivative in stability correction w.r.t. air temperature (K-1)
- real(dp),intent(out)          :: dStabilityCorrection_dSfcTemp ! derivative in stability correction w.r.t. surface temperature (K-1)
- integer(i4b),intent(out)      :: err                    ! error code
- character(*),intent(out)      :: message                ! error message
- ! local
- real(dp), parameter           :: verySmall=1.e-10_dp    ! a very small number (avoid stability of zero)
- real(dp)                      :: dRiBulk_dAirTemp       ! derivative in the bulk Richardson number w.r.t. air temperature (K-1)
- real(dp)                      :: dRiBulk_dSfcTemp       ! derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
- real(dp)                      :: bPrime                 ! scaled "b" parameter for stability calculations in Louis (1979)
- ! -----------------------------------------------------------------------------------------------------------------------------------------
- ! initialize error control
- err=0; message='aStability/'
-
- ! compute the bulk Richardson number (-)
- call bulkRichardson(&
-                     ! input
-                     airTemp,                        & ! input: air temperature (K)
-                     sfcTemp,                        & ! input: surface temperature (K)
-                     windspd,                        & ! input: wind speed (m s-1)
-                     mHeight,                        & ! input: measurement height (m)
-                     computeDerivative,              & ! input: flag to compute the derivative
-                     ! output
-                     RiBulk,                         & ! output: bulk Richardson number (-)
-                     dRiBulk_dAirTemp,               & ! output: derivative in the bulk Richardson number w.r.t. air temperature (K-1)
-                     dRiBulk_dSfcTemp,               & ! output: derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
-                     err,message)                      ! output: error control
-
- ! set derivative to one if not computing it
- if(.not.computeDerivative)then
-  dStabilityCorrection_dRich    = 1._dp
-  dStabilityCorrection_dAirTemp = 1._dp
-  dStabilityCorrection_dSfcTemp = 1._dp
- end if
-
- ! ***** process unstable cases
- if(RiBulk<0._dp)then
-  ! compute surface-atmosphere exchange coefficient (-)
-  stabilityCorrection = (1._dp - 16._dp*RiBulk)**0.5_dp
-  ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
-  if(computeDerivative)then
-   dStabilityCorrection_dRich    = (-16._dp) * 0.5_dp*(1._dp - 16._dp*RiBulk)**(-0.5_dp)
-   dStabilityCorrection_dAirTemp = dRiBulk_dAirTemp * dStabilityCorrection_dRich
-   dStabilityCorrection_dSfcTemp = dRiBulk_dSfcTemp * dStabilityCorrection_dRich
-  end if
-  return
- end if
-
- ! ***** process stable cases
- select case(ixStability)
-
-  ! ("standard" stability correction, a la Anderson 1976)
-  case(standard)
-   ! compute surface-atmosphere exchange coefficient (-)
-   if(RiBulk <  critRichNumber) stabilityCorrection = (1._dp - 5._dp*RiBulk)**2._dp
-   if(RiBulk >= critRichNumber) stabilityCorrection = verySmall
-   ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
-   if(computeDerivative)then
-    if(RiBulk <  critRichNumber) dStabilityCorrection_dRich = (-5._dp) * 2._dp*(1._dp - 5._dp*RiBulk)
-    if(RiBulk >= critRichNumber) dStabilityCorrection_dRich = verySmall
-   end if
-
-  ! (Louis 1979)
-  case(louisInversePower)
-   ! scale the "b" parameter for stable conditions
-   bprime = Louis79_bparam/2._dp
-   ! compute surface-atmosphere exchange coefficient (-)
-   stabilityCorrection = 1._dp / ( (1._dp + bprime*RiBulk)**2._dp )
-   if(stabilityCorrection < epsilon(stabilityCorrection)) stabilityCorrection = epsilon(stabilityCorrection)
-   ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
-   if(computeDerivative)then
-    dStabilityCorrection_dRich = bprime * (-2._dp)*(1._dp + bprime*RiBulk)**(-3._dp)
-   end if
-
-  ! (Mahrt 1987)
-  case(mahrtExponential)
-   ! compute surface-atmosphere exchange coefficient (-)
-   stabilityCorrection = exp(-Mahrt87_eScale * RiBulk)
-   if(stabilityCorrection < epsilon(stabilityCorrection)) stabilityCorrection = epsilon(stabilityCorrection)
-   ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
-   if(computeDerivative)then
-    dStabilityCorrection_dRich = (-Mahrt87_eScale) * exp(-Mahrt87_eScale * RiBulk)
-   end if
-
-  ! (return error if the stability correction method is not found)
-  case default
-   err=10; message=trim(message)//"optionNotFound[stability correction]"; return
-
- end select
-
- ! get the stability correction with respect to air temperature and surface temperature
- ! NOTE: air temperature is used for canopy air temperature, which is a model state variable
- if(computeDerivative)then
-  dStabilityCorrection_dAirTemp = dRiBulk_dAirTemp * dStabilityCorrection_dRich
-  dStabilityCorrection_dSfcTemp = dRiBulk_dSfcTemp * dStabilityCorrection_dRich
- end if
-
- end subroutine aStability
-
-
- ! *******************************************************************************************************
- ! private subroutine bulkRichardson: compute bulk Richardson number
- ! *******************************************************************************************************
- subroutine bulkRichardson(&
+                        err,cmessage                       ) ! intent(out): error control
+       if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+       !print*, 'dLWNetCanopy_dTGround = ', dLWNetCanopy_dTGround
+    
+    
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! ***** TURBULENT HEAT FLUXES  **************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+    
+       ! check the need to compute numerical derivatives
+       if(ixDerivMethod == numerical)then
+        nFlux=5  ! compute the derivatives using one-sided finite differences
+       else
+        nFlux=1  ! compute analytical derivatives
+       end if
+    
+       ! either one or multiple flux calls, depending on if using analytical or numerical derivatives
+       do itry=nFlux,1,-1  ! (work backwards to ensure all computed fluxes come from the un-perturbed case)
+    
+        ! -------------------------------------------------------------------------------------
+        ! state perturbations for numerical deriavtives with one-sided finite differences
+        ! note: no perturbations performed using analytical derivatives (nFlux=1)
+        ! -------------------------------------------------------------------------------------
+    
+        ! initialize for unperturbed state
+        canopyWetFraction = scalarCanopyWetFraction
+    
+        ! identify the type of perturbation
+        select case(itry)
+    
+         ! un-perturbed case
+         case(unperturbed)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater
+    
+         ! perturb ground temperature
+         case(perturbStateGround)
+          groundTemp        = groundTempTrial + dx
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater
+    
+         ! perturb canopy temperature
+         case(perturbStateCanopy)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial + dx
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater
+    
+         ! perturb canopy air temperature
+         case(perturbStateCanair)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial + dx
+          canopyWat         = totalCanopyWater
+    
+         ! perturb canopy total water content
+         case(perturbStateCanWat)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater + dx
+    
+         ! check for an unknown perturbation
+         case default; err=10; message=trim(message)//"unknown perturbation"; return
+    
+        end select ! (type of perturbation)
+    
+        ! perturbations in canopy total water content affect canopy wetted fraction
+        if(itry == perturbStateCanopy .OR. itry == perturbStateCanWat)then
+    
+         ! recalculate liquid and ice from total water
+         fracLiquidCanopy = fracliquid(canopyTemp,snowfrz_scale)
+         canopyLiq = fracLiquidCanopy*canopyWat
+         canopyIce = (1._rkind - fracLiquidCanopy)*canopyWat
+    
+         if(computeVegFlux)then
+          call wettedFrac(&
+                          ! input
+                          .false.,                                        & ! flag to denote if derivative is desired
+                          (ixDerivMethod == numerical),                   & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+                          (scalarLatHeatSubVapCanopy > LH_vap+verySmall), & ! flag to denote if the canopy is frozen
+                          dCanLiq_dTcanopy,                               & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+                          fracLiquidCanopy,                               & ! fraction of liquid water on the canopy (-)
+                          canopyLiq,                                      & ! canopy liquid water (kg m-2)
+                          canopyIce,                                      & ! canopy ice (kg m-2)
+                          scalarCanopyLiqMax,                             & ! maximum canopy liquid water (kg m-2)
+                          scalarCanopyIceMax,                             & ! maximum canopy ice content (kg m-2)
+                          canopyWettingFactor,                            & ! maximum wetted fraction of the canopy (-)
+                          canopyWettingExp,                               & ! exponent in canopy wetting function (-)
+                          ! output
+                          canopyWetFraction,                              & ! canopy wetted fraction (-)
+                          dCanopyWetFraction_dWat,                        & ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+                          dCanopyWetFraction_dT,                          & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                          err,cmessage)
+          if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+         else
+          canopyWetFraction = 0._rkind
+         end if ! (desired computing vegetation flux)
+    
+        end if ! (re-computing wetted fraction for perturbed cases)
+        !print*, 'wetted fraction derivative = ', (canopyWetFraction - scalarCanopyWetFraction)/dx
+          !pause
+    
+        ! compute the saturation vapor pressure for vegetation temperature
+        ! NOTE: saturated vapor pressure derivatives don't seem that accurate....
+        TV_celcius = canopyTemp - Tfreeze
+        call satVapPress(TV_celcius, scalarSatVP_CanopyTemp, dSVPCanopy_dCanopyTemp)
+    
+        ! compute the saturation vapor pressure for ground temperature
+        ! NOTE: saturated vapor pressure derivatives don't seem that accurate....
+        TG_celcius = groundTemp - Tfreeze
+        call satVapPress(TG_celcius, scalarSatVP_GroundTemp, dSVPGround_dGroundTemp)
+    
+        ! -------------------------------------------------------------------------------------
+        ! calculation block (unperturbed fluxes returned [computed last])
+        ! -------------------------------------------------------------------------------------
+    
+        ! re-compute aerodynamic resistances for perturbed cases
+        ! NOTE: unperturbed fluxes computed earlier, and not over-written
+        if(itry /= unperturbed)then
+         call aeroResist(&
+                         ! input: model control
+                         computeVegFlux,                          & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                         .false.,                                 & ! intent(in): logical flag if would like to compute analytical derivaties
+                         ix_veg_traits,                           & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
+                         ix_windPrfile,                           & ! intent(in): choice of canopy wind profile
+                         ix_astability,                           & ! intent(in): choice of stability function
+                         ! input: above-canopy forcing data
+                         mHeight,                                 & ! intent(in): measurement height (m)
+                         airtemp,                                 & ! intent(in): air temperature at some height above the surface (K)
+                         windspd,                                 & ! intent(in): wind speed at some height above the surface (m s-1)
+                         ! input: temperature (canopy, ground, canopy air space)
+                         canairTemp,                              & ! intent(in): temperature of the canopy air space (K)
+                         groundTemp,                              & ! intent(in): ground temperature (K)
+                         ! input: diagnostic variables
+                         exposedVAI,                              & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                         scalarSnowDepth,                         & ! intent(in): snow depth (m)
+                         ! input: parameters
+                         z0Ground,                                & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+                         z0CanopyParam,                           & ! intent(in): roughness length of the canopy (m)
+                         zpdFraction,                             & ! intent(in): zero plane displacement / canopy height (-)
+                         critRichNumber,                          & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
+                         Louis79_bparam,                          & ! intent(in): parameter in Louis (1979) stability function
+                         Mahrt87_eScale,                          & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
+                         windReductionParam,                      & ! intent(in): canopy wind reduction parameter (-)
+                         leafExchangeCoeff,                       & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+                         leafDimension,                           & ! intent(in): characteristic leaf dimension (m)
+                         heightCanopyTop,                         & ! intent(in): height at the top of the vegetation canopy (m)
+                         heightCanopyBottom,                      & ! intent(in): height at the bottom of the vegetation canopy (m)
+                         ! output: stability corrections
+                         notUsed_RiBulkCanopy,                    & ! intent(out): bulk Richardson number for the canopy (-)
+                         notUsed_RiBulkGround,                    & ! intent(out): bulk Richardson number for the ground surface (-)
+                         notUsed_scalarCanopyStabilityCorrection, & ! intent(out): stability correction for the canopy (-)
+                         notUsed_scalarGroundStabilityCorrection, & ! intent(out): stability correction for the ground surface (-)
+                         ! output: scalar resistances
+                         notUsed_z0Canopy,                        & ! intent(out): roughness length of the canopy (m)
+                         notUsed_WindReductionFactor,             & ! intent(out): canopy wind reduction factor (-)
+                         notUsed_ZeroPlaneDisplacement,           & ! intent(out): zero plane displacement (m)
+                         notUsed_EddyDiffusCanopyTop,             & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
+                         notUsed_FrictionVelocity,                & ! intent(out): friction velocity (m s-1)
+                         notUsed_WindspdCanopyTop,                & ! intent(out): windspeed at the top of the canopy (m s-1)
+                         notUsed_WindspdCanopyBottom,             & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
+                         trialLeafResistance,                     & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                         trialGroundResistance,                   & ! intent(out): below canopy aerodynamic resistance (s m-1)
+                         trialCanopyResistance,                   & ! intent(out): above canopy aerodynamic resistance (s m-1)
+                         ! output: derivatives in scalar resistances
+                         notUsed_dGroundResistance_dTGround,      & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                         notUsed_dGroundResistance_dTCanopy,      & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                         notUsed_dGroundResistance_dTCanair,      & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                         notUsed_dCanopyResistance_dTCanopy,      & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                         notUsed_dCanopyResistance_dTCanair,      & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                         ! output: error control
+                         err,cmessage                             ) ! intent(out): error control
+         if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+    
+        ! assign scalar resistances for un-perturbed cases
+        else
+         trialLeafResistance   = scalarLeafResistance
+         trialGroundResistance = scalarGroundResistance
+         trialCanopyResistance = scalarCanopyResistance
+    
+        end if  ! (re-computing resistances for perturbed cases)
+        !print*, 'trialLeafResistance = ', trialLeafResistance
+        !print*, 'trialGroundResistance = ', trialGroundResistance
+        !print*, 'trialCanopyResistance = ', trialCanopyResistance
+    
+        ! compute the relative humidity in the top soil layer and the resistance at the ground surface
+        ! NOTE: computations are based on start-of-step values, so only compute for the first flux call
+        if(firstFluxCall)then
+         ! (soil water evaporation factor [0-1])
+         soilEvapFactor = mLayerVolFracLiq(nSnow+1)/(theta_sat - theta_res)
+         ! (resistance from the soil [s m-1])
+         scalarSoilResistance = scalarGroundSnowFraction*1._rkind + (1._rkind - scalarGroundSnowFraction)*EXP(8.25_rkind - 4.225_rkind*soilEvapFactor)  ! Sellers (1992)
+         !scalarSoilResistance = scalarGroundSnowFraction*0._rkind + (1._rkind - scalarGroundSnowFraction)*exp(8.25_rkind - 6.0_rkind*soilEvapFactor)    ! Niu adjustment to decrease resitance for wet soil
+         ! (relative humidity in the soil pores [0-1])
+         if(mLayerMatricHead(1) > -1.e+6_rkind)then  ! avoid problems with numerical precision when soil is very dry
+          soilRelHumidity_noSnow = exp( (mLayerMatricHead(1)*gravity) / (groundTemp*R_wv) )
+         else
+          soilRelHumidity_noSnow = 0._rkind
+         end if ! (if matric head is very low)
+         scalarSoilRelHumidity  = scalarGroundSnowFraction*1._rkind + (1._rkind - scalarGroundSnowFraction)*soilRelHumidity_noSnow
+         !print*, 'mLayerMatricHead(1), scalarSoilRelHumidity = ', mLayerMatricHead(1), scalarSoilRelHumidity
+        end if  ! (if the first flux call)
+    
+        ! compute turbulent heat fluxes
+        call turbFluxes(&
+                        ! input: model control
+                        computeVegFlux,                       & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                        ixDerivMethod,                        & ! intent(in): method used to calculate flux derivatives
+                        ! input: above-canopy forcing data
+                        airtemp,                              & ! intent(in): air temperature at some height above the surface (K)
+                        airpres,                              & ! intent(in): air pressure of the air above the vegetation canopy (Pa)
+                        scalarVPair,                          & ! intent(in): vapor pressure of the air above the vegetation canopy (Pa)
+                        ! input: latent heat of sublimation/vaporization
+                        scalarLatHeatSubVapCanopy,            & ! intent(in): latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+                        scalarLatHeatSubVapGround,            & ! intent(in): latent heat of sublimation/vaporization for the ground surface (J kg-1)
+                        ! input: canopy/ground temperature and saturated vapor pressure
+                        canairTemp,                           & ! intent(in): temperature of the canopy air space (K)
+                        canopyTemp,                           & ! intent(in): canopy temperature (K)
+                        groundTemp,                           & ! intent(in): ground temperature (K)
+                        scalarSatVP_CanopyTemp,               & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
+                        scalarSatVP_GroundTemp,               & ! intent(in): saturation vapor pressure at the temperature of the ground (Pa)
+                        dSVPCanopy_dCanopyTemp,               & ! intent(in): derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
+                        dSVPGround_dGroundTemp,               & ! intent(in): derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
+                        ! input: diagnostic variables
+                        exposedVAI,                           & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                        canopyWetFraction,                    & ! intent(in): trial value for the fraction of canopy that is wet [0-1]
+                        dCanopyWetFraction_dWat,              & ! intent(in): derivative in the canopy wetted fraction w.r.t. total water content (kg-1 m-2)
+                        dCanopyWetFraction_dT,                & ! intent(in): derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                        scalarCanopySunlitLAI,                & ! intent(in): sunlit leaf area (-)
+                        scalarCanopyShadedLAI,                & ! intent(in): shaded leaf area (-)
+                        scalarSoilRelHumidity,                & ! intent(in): relative humidity in the soil pores [0-1]
+                        scalarSoilResistance,                 & ! intent(in): resistance from the soil (s m-1)
+                        trialLeafResistance,                  & ! intent(in): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                        trialGroundResistance,                & ! intent(in): below canopy aerodynamic resistance (s m-1)
+                        trialCanopyResistance,                & ! intent(in): above canopy aerodynamic resistance (s m-1)
+                        scalarStomResistSunlit,               & ! intent(in): stomatal resistance for sunlit leaves (s m-1)
+                        scalarStomResistShaded,               & ! intent(in): stomatal resistance for shaded leaves (s m-1)
+                        ! input: derivatives in scalar resistances
+                        dGroundResistance_dTGround,           & ! intent(in): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                        dGroundResistance_dTCanopy,           & ! intent(in): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                        dGroundResistance_dTCanair,           & ! intent(in): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                        dCanopyResistance_dTCanopy,           & ! intent(in): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                        dCanopyResistance_dTCanair,           & ! intent(in): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                        ! output: conductances (used to check derivative calculations)
+                        scalarLeafConductance,                & ! intent(out): leaf conductance (m s-1)
+                        scalarCanopyConductance,              & ! intent(out): canopy conductance (m s-1)
+                        scalarGroundConductanceSH,            & ! intent(out): ground conductance for sensible heat (m s-1)
+                        scalarGroundConductanceLH,            & ! intent(out): ground conductance for latent heat -- includes soil resistance (m s-1)
+                        scalarEvapConductance,                & ! intent(out): conductance for evaporation (m s-1)
+                        scalarTransConductance,               & ! intent(out): conductance for transpiration (m s-1)
+                        scalarTotalConductanceSH,             & ! intent(out): total conductance for sensible heat (m s-1)
+                        scalarTotalConductanceLH,             & ! intent(out): total conductance for latent heat (m s-1)
+                        ! output: canopy air space variables
+                        scalarVP_CanopyAir,                   & ! intent(out): vapor pressure of the canopy air space (Pa)
+                        ! output: fluxes from the vegetation canopy
+                        scalarSenHeatCanopy,                  & ! intent(out): sensible heat flux from the canopy to the canopy air space (W m-2)
+                        scalarLatHeatCanopyEvap,              & ! intent(out): latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
+                        scalarLatHeatCanopyTrans,             & ! intent(out): latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
+                        ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
+                        scalarSenHeatGround,                  & ! intent(out): sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                        scalarLatHeatGround,                  & ! intent(out): latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                        ! output: total heat fluxes to the atmosphere
+                        scalarSenHeatTotal,                   & ! intent(out): total sensible heat flux to the atmosphere (W m-2)
+                        scalarLatHeatTotal,                   & ! intent(out): total latent heat flux to the atmosphere (W m-2)
+                        ! output: net fluxes
+                        turbFluxCanair,                       & ! intent(out): net turbulent heat fluxes at the canopy air space (W m-2)
+                        turbFluxCanopy,                       & ! intent(out): net turbulent heat fluxes at the canopy (W m-2)
+                        turbFluxGround,                       & ! intent(out): net turbulent heat fluxes at the ground surface (W m-2)
+                        ! output: energy flux derivatives
+                        dTurbFluxCanair_dTCanair,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                        dTurbFluxCanair_dTCanopy,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+                        dTurbFluxCanair_dTGround,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+                        dTurbFluxCanopy_dTCanair,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                        dTurbFluxCanopy_dTCanopy,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                        dTurbFluxCanopy_dTGround,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                        dTurbFluxGround_dTCanair,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                        dTurbFluxGround_dTCanopy,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                        dTurbFluxGround_dTGround,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                        ! output: liquid flux derivatives (canopy evap)
+                        dLatHeatCanopyEvap_dCanWat,           & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy total water content (W kg-1)
+                        dLatHeatCanopyEvap_dTCanair,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+                        dLatHeatCanopyEvap_dTCanopy,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+                        dLatHeatCanopyEvap_dTGround,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+                        ! output: liquid flux derivatives (ground evap)
+                        dLatHeatGroundEvap_dCanWat,           & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy total water content (J kg-1 s-1)
+                        dLatHeatGroundEvap_dTCanair,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy air temperature
+                        dLatHeatGroundEvap_dTCanopy,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy temperature
+                        dLatHeatGroundEvap_dTGround,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. ground temperature
+                        ! output: latent heat flux derivatives (canopy trans)
+                        dLatHeatCanopyTrans_dCanWat,          & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. canopy total water (J kg-1 s-1)
+                        dLatHeatCanopyTrans_dTCanair,         & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. canopy air temperature
+                        dLatHeatCanopyTrans_dTCanopy,         & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. canopy temperature
+                        dLatHeatCanopyTrans_dTGround,         & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. ground temperature
+                        ! output: cross derivatives
+                        dTurbFluxCanair_dCanWat,              & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                        dTurbFluxCanopy_dCanWat,              & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                        dTurbFluxGround_dCanWat,              & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                        ! output: error control
+                        err,cmessage                          ) ! intent(out): error control
+        if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+        !write(*,'(a,f25.15)') 'scalarSenHeatTotal = ', scalarSenHeatTotal
+        !write(*,'(a,f25.15)') 'scalarSenHeatCanopy = ', scalarSenHeatCanopy
+        !write(*,'(a,f25.15)') 'scalarLatHeatCanopyEvap = ', scalarLatHeatCanopyEvap
+        !write(*,'(a,f25.15)') 'scalarLatHeatCanopyTrans = ', scalarLatHeatCanopyTrans
+    
+        !print*, 'scalarSenHeatGround = ', scalarSenHeatGround
+        !print*, 'scalarLatHeatGround = ', scalarLatHeatGround
+    
+        !notUsed_scalarCanopyStabilityCorrection  ! stability correction for the canopy (-)
+        !notUsed_scalarGroundStabilityCorrection  ! stability correction for the ground surface (-)
+        !notUsed_EddyDiffusCanopyTop              ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+        !notUsed_FrictionVelocity                 ! friction velocity (m s-1)
+        !notUsed_WindspdCanopyTop                 ! windspeed at the top of the canopy (m s-1)
+        !notUsed_WindspdCanopyBottom              ! windspeed at the height of the bottom of the canopy (m s-1)
+        !trialLeafResistance                      ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+        !trialGroundResistance                    ! below canopy aerodynamic resistance (s m-1)
+        !trialCanopyResistance                    ! above canopy aerodynamic resistance (s m-1)
+    
+        ! save perturbed fluxes
+        if(ixDerivMethod == numerical)then
+         select case(itry) ! (select type of perturbation)
+          case(unperturbed)
+           try0 = turbFluxGround
+           exit
+          case(perturbStateCanair)
+           turbFluxCanair_dStateCanair = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+           turbFluxCanopy_dStateCanair = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+           turbFluxGround_dStateCanair = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+           latHeatCanEvap_dStateCanair = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case(perturbStateCanopy)
+           turbFluxCanair_dStateCanopy = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+           turbFluxCanopy_dStateCanopy = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+           turbFluxGround_dStateCanopy = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+           latHeatCanEvap_dStateCanopy = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case(perturbStateGround)
+           try1 = turbFluxGround
+           turbFluxCanair_dStateGround = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+           turbFluxCanopy_dStateGround = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+           turbFluxGround_dStateGround = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+           latHeatCanEvap_dStateGround = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case(perturbStateCanWat)
+           turbFluxCanair_dStateCanWat = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+           turbFluxCanopy_dStateCanWat = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+           turbFluxGround_dStateCanWat = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+           latHeatCanEvap_dStateCanWat = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case default; err=10; message=trim(message)//"unknown perturbation"; return
+         end select ! (type of perturbation)
+        end if ! (if numerical)
+    
+       end do  ! (looping through different flux perturbations)
+    
+       ! test derivative
+       !if(ixDerivMethod == numerical)  print*, 'try0, try1 = ', try0, try1
+       !if(ixDerivMethod == numerical)  print*, 'derivative = ', (ixDerivMethod == numerical), (try1 - try0)/dx
+       !if(ixDerivMethod == analytical) print*, 'derivative = ', (ixDerivMethod == numerical), dTurbFluxGround_dTGround
+       !pause
+    
+       ! compute numerical derivatives
+       if(ixDerivMethod == numerical)then
+        ! derivatives w.r.t. canopy air temperature
+        dTurbFluxCanair_dTCanair    = (turbFluxCanair_dStateCanair - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+        dTurbFluxCanopy_dTCanair    = (turbFluxCanopy_dStateCanair - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+        dTurbFluxGround_dTCanair    = (turbFluxGround_dStateCanair - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+        dLatHeatCanopyEvap_dTCanair = (latHeatCanEvap_dStateCanair - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+        ! derivatives w.r.t. canopy temperature
+        dTurbFluxCanair_dTCanopy    = (turbFluxCanair_dStateCanopy - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+        dTurbFluxCanopy_dTCanopy    = (turbFluxCanopy_dStateCanopy - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+        dTurbFluxGround_dTCanopy    = (turbFluxGround_dStateCanopy - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+        dLatHeatCanopyEvap_dTCanopy = (latHeatCanEvap_dStateCanopy - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+        ! derivatives w.r.t. ground temperature
+        dTurbFluxCanair_dTGround    = (turbFluxCanair_dStateGround - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+        dTurbFluxCanopy_dTGround    = (turbFluxCanopy_dStateGround - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+        dTurbFluxGround_dTGround    = (turbFluxGround_dStateGround - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+        dLatHeatCanopyEvap_dTGround = (latHeatCanEvap_dStateGround - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+        ! derivatives w.r.t. canopy total water content
+        dTurbFluxCanair_dCanWat    = (turbFluxCanair_dStateCanWat  - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy total water content (J kg-1 s-1)
+        dTurbFluxCanopy_dCanWat    = (turbFluxCanopy_dStateCanWat  - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+        dTurbFluxGround_dCanWat    = (turbFluxGround_dStateCanWat  - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+        dLatHeatCanopyEvap_dCanWat = (latHeatCanEvap_dStateCanWat  - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy total water content (J kg-1 s-1)
+       end if
+       !if(heightCanopyBottom < scalarSnowDepth+z0Ground) pause 'bottom of the canopy is covered'
+    
+       ! test
+       !print*, (ixDerivMethod == numerical)
+       !print*, 'dTurbFluxCanair_dTCanair = ', dTurbFluxCanair_dTCanair
+       !print*, 'dTurbFluxCanair_dTCanopy = ', dTurbFluxCanair_dTCanopy
+       !print*, 'dTurbFluxCanair_dTGround = ', dTurbFluxCanair_dTGround
+       !print*, 'dTurbFluxCanopy_dTCanair = ', dTurbFluxCanopy_dTCanair
+       !print*, 'dTurbFluxCanopy_dTCanopy = ', dTurbFluxCanopy_dTCanopy
+       !print*, 'dTurbFluxCanopy_dTGround = ', dTurbFluxCanopy_dTGround
+       !print*, 'dTurbFluxGround_dTCanair = ', dTurbFluxGround_dTCanair
+       !print*, 'dTurbFluxGround_dTCanopy = ', dTurbFluxGround_dTCanopy
+       !print*, 'dTurbFluxGround_dTGround = ', dTurbFluxGround_dTGround
+       !print*, 'dLatHeatCanopyEvap_dCanWat = ', dLatHeatCanopyEvap_dCanWat
+       !print*, 'dLatHeatCanopyEvap_dTCanair = ', dLatHeatCanopyEvap_dTCanair
+       !print*, 'dLatHeatCanopyEvap_dTCanopy = ', dLatHeatCanopyEvap_dTCanopy
+       !print*, 'dLatHeatCanopyEvap_dTGround = ', dLatHeatCanopyEvap_dTGround
+       !print*, 'dTurbFluxCanair_dCanWat = ', dTurbFluxCanair_dCanWat
+       !print*, 'dTurbFluxCanopy_dCanWat = ', dTurbFluxCanopy_dCanWat
+       !print*, 'dTurbFluxGround_dCanWat = ', dTurbFluxGround_dCanWat
+       !print*, '*****'
+       !pause
+    
+       !print*, 'scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow, canopyTempTrial, scalarTwetbulb = ', &
+       !         scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow, canopyTempTrial, scalarTwetbulb
+    
+       ! compute the heat advected with precipitation (W m-2)
+       ! NOTE: fluxes are in kg m-2 s-1, so no need to use density of water/ice here
+       scalarCanopyAdvectiveHeatFlux = -Cp_water*(scalarRainfall - scalarThroughfallRain)*(canopyTempTrial - scalarTwetbulb) + &
+                                       (-Cp_ice)*(scalarSnowfall - scalarThroughfallSnow)*(canopyTempTrial - scalarTwetbulb)
+       scalarGroundAdvectiveHeatFlux = -Cp_water*scalarThroughfallRain*(groundTempTrial - scalarTwetbulb)         + &
+                                       (-Cp_ice)*scalarThroughfallSnow*(groundTempTrial - scalarTwetbulb)         !+ &
+       !                               (-Cp_water)*scalarCanopyLiqDrainage  *(groundTempTrial - canopyTempTrial) + &
+       !                               (-Cp_ice)  *scalarCanopySnowUnloading*(groundTempTrial - canopyTempTrial)
+       !print*, 'scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow = ', scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow
+       !print*, 'scalarCanopyAdvectiveHeatFlux, scalarGroundAdvectiveHeatFlux = ', scalarCanopyAdvectiveHeatFlux, scalarGroundAdvectiveHeatFlux
+    
+       ! compute the mass flux associated with transpiration and evaporation/sublimation (J m-2 s-1 --> kg m-2 s-1)
+       ! NOTE: remove water from the snow on the ground in preference to removing water from the water in soil pores
+       !print*, 'scalarLatHeatCanopyTrans = ', scalarLatHeatCanopyTrans
+       !print*, 'scalarLatHeatGround      = ', scalarLatHeatGround
+       ! (canopy transpiration/sublimation)
+       if(scalarLatHeatSubVapCanopy > LH_vap+verySmall)then ! sublimation
+        scalarCanopyEvaporation = 0._rkind
+        scalarCanopySublimation = scalarLatHeatCanopyEvap/LH_sub
+        if(scalarLatHeatCanopyTrans > 0._rkind)then ! flux directed towards the veg
+         scalarCanopySublimation   = scalarCanopySublimation + scalarLatHeatCanopyTrans/LH_sub ! frost
+         scalarCanopyTranspiration = 0._rkind
+        else
+         scalarCanopyTranspiration = scalarLatHeatCanopyTrans/LH_vap  ! transpiration is always vapor
+        end if
+       ! (canopy transpiration/evaporation)
+       else                                                 ! evaporation
+        scalarCanopyEvaporation = scalarLatHeatCanopyEvap/LH_vap
+        scalarCanopySublimation = 0._rkind
+        if(scalarLatHeatCanopyTrans > 0._rkind)then ! flux directed towards the veg
+         scalarCanopyEvaporation   = scalarCanopyEvaporation + scalarLatHeatCanopyTrans/LH_vap
+         scalarCanopyTranspiration = 0._rkind
+        else
+         scalarCanopyTranspiration = scalarLatHeatCanopyTrans/LH_vap
+        end if
+       end if
+       ! (ground evaporation/sublimation)
+       if(scalarLatHeatSubVapGround > LH_vap+verySmall)then ! sublimation
+        ! NOTE: this should only occur when we have formed snow layers, so check
+        if(nSnow == 0)then; err=20; message=trim(message)//'only expect snow sublimation when we have formed some snow layers'; return; end if
+        scalarGroundEvaporation = 0._rkind  ! ground evaporation is zero once the snowpack has formed
+        scalarSnowSublimation   = scalarLatHeatGround/LH_sub
+       else
+        ! NOTE: this should only occur when we have no snow layers, so check
+        if(nSnow > 0)then; err=20; message=trim(message)//'only expect ground evaporation when there are no snow layers'; return; end if
+        scalarGroundEvaporation = scalarLatHeatGround/LH_vap
+        scalarSnowSublimation   = 0._rkind  ! no sublimation from snow if no snow layers have formed
+       end if
+       !print*, 'scalarSnowSublimation, scalarLatHeatGround = ', scalarSnowSublimation, scalarLatHeatGround
+    
+       !print*, 'canopyWetFraction, scalarCanopyEvaporation = ', canopyWetFraction, scalarCanopyEvaporation
+    
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! ***** AND STITCH EVERYTHING TOGETHER  *****************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+       ! *******************************************************************************************************************************************************************
+    
+       ! compute derived fluxes
+       scalarTotalET      = scalarGroundEvaporation + scalarCanopyEvaporation + scalarCanopyTranspiration
+       scalarNetRadiation = scalarCanopyAbsorbedSolar + scalarLWNetCanopy + scalarGroundAbsorbedSolar + scalarLWNetGround
+    
+       ! compute net fluxes at the canopy and ground surface
+       canairNetFlux = turbFluxCanair
+       canopyNetFlux = scalarCanopyAbsorbedSolar + scalarLWNetCanopy + turbFluxCanopy + scalarCanopyAdvectiveHeatFlux
+       groundNetFlux = scalarGroundAbsorbedSolar + scalarLWNetGround + turbFluxGround + scalarGroundAdvectiveHeatFlux
+       !write(*,'(a,1x,10(e17.10,1x))') 'canopyNetFlux, groundNetFlux,  scalarLWNetCanopy, turbFluxCanopy, turbFluxGround, scalarLWNetGround, scalarCanopyAdvectiveHeatFlux = ', &
+       !                                 canopyNetFlux, groundNetFlux,  scalarLWNetCanopy, turbFluxCanopy, turbFluxGround, scalarLWNetGround, scalarCanopyAdvectiveHeatFlux
+       !write(*,'(a,1x,10(e20.14,1x))') 'groundNetFlux, scalarGroundAbsorbedSolar,  scalarLWNetGround, turbFluxGround, scalarGroundAdvectiveHeatFlux = ', &
+       !                                 groundNetFlux, scalarGroundAbsorbedSolar,  scalarLWNetGround, turbFluxGround, scalarGroundAdvectiveHeatFlux
+    
+       ! compute the energy derivatives
+       dCanairNetFlux_dCanairTemp = dTurbFluxCanair_dTCanair
+       dCanairNetFlux_dCanopyTemp = dTurbFluxCanair_dTCanopy
+       dCanairNetFlux_dGroundTemp = dTurbFluxCanair_dTGround
+       dCanopyNetFlux_dCanairTemp = dTurbFluxCanopy_dTCanair
+       dCanopyNetFlux_dCanopyTemp = dLWNetCanopy_dTCanopy + dTurbFluxCanopy_dTCanopy - Cp_water*(scalarRainfall - scalarThroughfallRain) - Cp_ice*(scalarSnowfall - scalarThroughfallSnow)
+       dCanopyNetFlux_dGroundTemp = dLWNetCanopy_dTGround + dTurbFluxCanopy_dTGround
+       dGroundNetFlux_dCanairTemp = dTurbFluxGround_dTCanair
+       dGroundNetFlux_dCanopyTemp = dLWNetGround_dTCanopy + dTurbFluxGround_dTCanopy
+       dGroundNetFlux_dGroundTemp = dLWNetGround_dTGround + dTurbFluxGround_dTGround - Cp_water*scalarThroughfallRain - Cp_ice*scalarThroughfallSnow
+    
+       ! check if evaporation or sublimation
+       if(scalarLatHeatSubVapCanopy < LH_vap+verySmall)then ! evaporation
+    
+        ! compute the liquid water derivarives
+        dCanopyEvaporation_dCanWat  = dLatHeatCanopyEvap_dCanWat/LH_vap    ! (s-1)
+        dCanopyEvaporation_dTCanair = dLatHeatCanopyEvap_dTCanair/LH_vap   ! (kg m-2 s-1 K-1)
+        dCanopyEvaporation_dTCanopy = dLatHeatCanopyEvap_dTCanopy/LH_vap   ! (kg m-2 s-1 K-1)
+        dCanopyEvaporation_dTGround = dLatHeatCanopyEvap_dTGround/LH_vap   ! (kg m-2 s-1 K-1)
+    
+       ! sublimation
+       else
+        dCanopyEvaporation_dCanWat  = 0._rkind  ! (s-1)
+        dCanopyEvaporation_dTCanair = 0._rkind  ! (kg m-2 s-1 K-1)
+        dCanopyEvaporation_dTCanopy = 0._rkind  ! (kg m-2 s-1 K-1)
+        dCanopyEvaporation_dTGround = 0._rkind  ! (kg m-2 s-1 K-1)
+       end if
+    
+       ! transpiration
+       if(scalarLatHeatCanopyTrans > 0._rkind)then ! flux directed towards the veg
+         dCanopyTrans_dCanWat = 0._rkind
+         dCanopyTrans_dTCanair= 0._rkind
+         dCanopyTrans_dTCanopy= 0._rkind
+         dCanopyTrans_dTGround= 0._rkind
+        else
+         dCanopyTrans_dCanWat=  dLatHeatCanopyTrans_dCanWat/LH_vap  ! transpiration is always vapor
+         dCanopyTrans_dTCanair= dLatHeatCanopyTrans_dTCanair/LH_vap
+         dCanopyTrans_dTCanopy= dLatHeatCanopyTrans_dTCanopy/LH_vap
+         dCanopyTrans_dTGround= dLatHeatCanopyTrans_dTGround/LH_vap
+        end if
+    
+    
+       ! compute the liquid water derivarives (ground evap)
+       dGroundEvaporation_dCanWat  = dLatHeatGroundEvap_dCanWat/LH_vap    ! (s-1)
+       dGroundEvaporation_dTCanair = dLatHeatGroundEvap_dTCanair/LH_vap   ! (kg m-2 s-1 K-1)
+       dGroundEvaporation_dTCanopy = dLatHeatGroundEvap_dTCanopy/LH_vap   ! (kg m-2 s-1 K-1)
+       dGroundEvaporation_dTGround = dLatHeatGroundEvap_dTGround/LH_vap   ! (kg m-2 s-1 K-1)
+    
+       ! compute the cross derivative terms (only related to turbulent fluxes; specifically canopy evaporation and transpiration)
+       dCanopyNetFlux_dCanWat = dTurbFluxCanopy_dCanWat  ! derivative in net canopy fluxes w.r.t. canopy total water content (J kg-1 s-1)
+       dGroundNetFlux_dCanWat = dTurbFluxGround_dCanWat  ! derivative in net ground fluxes w.r.t. canopy total water content (J kg-1 s-1)
+    
+       !print*, (ixDerivMethod == numerical)
+       !print*, 'dGroundNetFlux_dCanairTemp = ', dGroundNetFlux_dCanairTemp
+       !print*, 'dCanopyNetFlux_dCanopyTemp = ', dCanopyNetFlux_dCanopyTemp
+       !print*, 'dGroundNetFlux_dCanopyTemp = ', dGroundNetFlux_dCanopyTemp
+       !print*, 'dCanopyNetFlux_dGroundTemp = ', dCanopyNetFlux_dGroundTemp
+       !print*, 'dGroundNetFlux_dGroundTemp = ', dGroundNetFlux_dGroundTemp
+       !print*, 'dLWNetCanopy_dTGround = ', dLWNetCanopy_dTGround
+       !print*, 'dTurbFluxCanopy_dTGround = ', dTurbFluxCanopy_dTGround
+       !pause
+    
+      ! * check
+      case default; err=10; message=trim(message)//'unable to identify upper boundary condition for thermodynamics'; return
+    
+     ! end case statement
+     end select ! upper boundary condition for thermodynamics
+    
+     ! return liquid fluxes (needed for coupling)
+     returnCanopyTranspiration = scalarCanopyTranspiration    ! canopy transpiration (kg m-2 s-1)
+     returnCanopyEvaporation   = scalarCanopyEvaporation      ! canopy evaporation/condensation (kg m-2 s-1)
+     returnGroundEvaporation   = scalarGroundEvaporation      ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+    
+     ! end associations
+     end associate
+    
+    
+     end subroutine vegNrgFlux
+    
+    
+     ! *******************************************************************************************************
+     ! public subroutine wettedFrac: compute wetted fraction of the canopy
+     ! *******************************************************************************************************
+     subroutine wettedFrac(&
                            ! input
-                           airTemp,                    & ! input: air temperature (K)
-                           sfcTemp,                    & ! input: surface temperature (K)
-                           windspd,                    & ! input: wind speed (m s-1)
-                           mHeight,                    & ! input: measurement height (m)
-                           computeDerivative,          & ! input: flag to compute the derivative
+                           deriv,                  & ! flag to denote if derivative is desired
+                           derNum,                 & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+                           frozen,                 & ! flag to denote if the canopy is frozen
+                           dLiq_dT,                & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+                           fracLiq,                & ! fraction of liquid water on the canopy (-)
+                           canopyLiq,              & ! canopy liquid water (kg m-2)
+                           canopyIce,              & ! canopy ice (kg m-2)
+                           canopyLiqMax,           & ! maximum canopy liquid water (kg m-2)
+                           canopyIceMax,           & ! maximum canopy ice content (kg m-2)
+                           canopyWettingFactor,    & ! maximum wetted fraction of the canopy (-)
+                           canopyWettingExp,       & ! exponent in canopy wetting function (-)
                            ! output
-                           RiBulk,                     & ! output: bulk Richardson number (-)
-                           dRiBulk_dAirTemp,           & ! output: derivative in the bulk Richardson number w.r.t. air temperature (K-1)
-                           dRiBulk_dSfcTemp,           & ! output: derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
-                           err,message)                  ! output: error control
- implicit none
- ! input
- real(dp),intent(in)           :: airtemp                ! air temperature (K)
- real(dp),intent(in)           :: sfcTemp                ! surface temperature (K)
- real(dp),intent(in)           :: windspd                ! wind speed (m s-1)
- real(dp),intent(in)           :: mHeight                ! measurement height (m)
- logical(lgt),intent(in)       :: computeDerivative      ! flag to compute the derivative
- ! output
- real(dp),intent(inout)        :: RiBulk                 ! bulk Richardson number (-)
- real(dp),intent(out)          :: dRiBulk_dAirTemp       ! derivative in the bulk Richardson number w.r.t. air temperature (K-1)
- real(dp),intent(out)          :: dRiBulk_dSfcTemp       ! derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
- integer(i4b),intent(out)      :: err                    ! error code
- character(*),intent(out)      :: message                ! error message
- ! local variables
- real(dp)                      :: T_grad        ! gradient in temperature between the atmosphere and surface (K)
- real(dp)                      :: T_mean        ! mean of the atmosphere and surface temperature (K)
- real(dp)                      :: RiMult        ! dimensionless scaling factor (-)
- ! initialize error control
- err=0; message='bulkRichardson/'
- ! compute local variables
- T_grad = airtemp - sfcTemp
- T_mean = 0.5_dp*(airtemp + sfcTemp)
- RiMult = (gravity*mHeight)/(windspd*windspd)
- ! compute the Richardson number
- RiBulk = (T_grad/T_mean) * RiMult
- ! compute the derivative in the Richardson number
- if(computeDerivative)then
-  dRiBulk_dAirTemp =  RiMult/T_mean - RiMult*T_grad/(0.5_dp*((airtemp + sfcTemp)**2._dp))
-  dRiBulk_dSfcTemp = -RiMult/T_mean - RiMult*T_grad/(0.5_dp*((airtemp + sfcTemp)**2._dp))
- else
-  dRiBulk_dAirTemp = 1._dp
-  dRiBulk_dSfcTemp = 1._dp
- end if
- end subroutine bulkRichardson
-
-
-end module vegNrgFlux_module
+                           canopyWetFraction,      & ! canopy wetted fraction (-)
+                           dCanopyWetFraction_dWat,& ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+                           dCanopyWetFraction_dT,  & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                           err,message)              ! error control
+     implicit none
+     ! input
+     logical(lgt),intent(in)       :: deriv                   ! flag to denote if derivative is desired
+     logical(lgt),intent(in)       :: derNum                  ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+     logical(lgt),intent(in)       :: frozen                  ! flag to denote if the canopy is frozen
+     real(rkind),intent(in)           :: dLiq_dT                 ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+     real(rkind),intent(in)           :: fracLiq                 ! fraction of liquid water on the canopy (-)
+     real(rkind),intent(in)           :: canopyLiq               ! canopy liquid water (kg m-2)
+     real(rkind),intent(in)           :: canopyIce               ! canopy ice (kg m-2)
+     real(rkind),intent(in)           :: canopyLiqMax            ! maximum canopy liquid water (kg m-2)
+     real(rkind),intent(in)           :: canopyIceMax            ! maximum canopy ice content (kg m-2)
+     real(rkind),intent(in)           :: canopyWettingFactor     ! maximum wetted fraction of the canopy (-)
+     real(rkind),intent(in)           :: canopyWettingExp        ! exponent in canopy wetting function (-)
+     ! output
+     real(rkind),intent(out)          :: canopyWetFraction       ! canopy wetted fraction (-)
+     real(rkind),intent(out)          :: dCanopyWetFraction_dWat ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+     real(rkind),intent(out)          :: dCanopyWetFraction_dT   ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+     ! output: error control
+     integer(i4b),intent(out)      :: err                     ! error code
+     character(*),intent(out)      :: message                 ! error message
+     ! local variables
+     logical(lgt),parameter        :: smoothing=.true.        ! flag to denote that smoothing is required
+     real(rkind)                      :: canopyWetFractionPert   ! canopy wetted fraction after state perturbations (-)
+     real(rkind)                      :: canopyWetFractionDeriv  ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+     ! -----------------------------------------------------------------------------------------------------------------------------------------------
+     ! initialize error control
+     err=0; message='wettedFrac/'
+    
+     ! compute case where the canopy is frozen
+     if(frozen)then
+      ! compute fraction of liquid water on the canopy
+      call wetFraction((deriv .and. .not.derNum),smoothing,canopyIce,canopyIceMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
+      ! compute numerical derivative, if derivative is desired
+      if(deriv.and.derNum)then
+       call wetFraction((deriv .and. .not.derNum),smoothing,canopyIce+dx,canopyIceMax,canopyWettingFactor,canopyWettingExp,canopyWetFractionPert,canopyWetFractionDeriv)
+       canopyWetFractionDeriv = (canopyWetFractionPert - canopyWetFraction)/dx
+      end if
+      ! scale derivative by the fraction of water
+      ! NOTE: dIce/dWat = (1._rkind - fracLiq), hence dWet/dWat = dIce/dWat . dWet/dLiq
+      dCanopyWetFraction_dWat = canopyWetFractionDeriv*(1._rkind - fracLiq)
+      dCanopyWetFraction_dT   = -canopyWetFractionDeriv*dLiq_dT  ! NOTE: dIce/dT = -dLiq/dT
+      return
+     end if
+    
+     ! compute fraction of liquid water on the canopy
+     ! NOTE: if(.not.deriv) canopyWetFractionDeriv = 0._rkind
+     call wetFraction((deriv .and. .not.derNum),smoothing,canopyLiq,canopyLiqMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
+    
+     ! compute numerical derivative
+     if(deriv.and.derNum)then
+      call wetFraction((deriv .and. .not.derNum),smoothing,canopyLiq+dx,canopyLiqMax,canopyWettingFactor,canopyWettingExp,canopyWetFractionPert,canopyWetFractionDeriv)
+      canopyWetFractionDeriv = (canopyWetFractionPert - canopyWetFraction)/dx
+     end if
+    
+     ! scale derivative by the fraction of water
+     ! NOTE: dLiq/dWat = fracLiq, hence dWet/dWat = dLiq/dWat . dWet/dLiq
+     dCanopyWetFraction_dWat = canopyWetFractionDeriv*fracLiq
+     dCanopyWetFraction_dT   = canopyWetFractionDeriv*dLiq_dT
+    
+     ! test
+     !write(*,'(a,1x,2(L1,1x),10(f20.10,1x))') 'deriv, derNum, canopyWetFraction, canopyWetFractionDeriv = ', deriv, derNum, canopyWetFraction, canopyWetFractionDeriv
+     !if(deriv) pause 'testing canopy wet fraction'
+    
+     end subroutine wettedFrac
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine wetFraction: compute fraction of canopy covered with liquid water
+     ! *******************************************************************************************************
+     subroutine wetFraction(derDesire,smoothing,canopyLiq,canopyMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
+     implicit none
+     ! dummy variables
+     logical(lgt),intent(in) :: derDesire              ! flag to denote if analytical derivatives are desired
+     logical(lgt),intent(in) :: smoothing              ! flag to denote if smoothing is required
+     real(rkind),intent(in)     :: canopyLiq              ! liquid water content (kg m-2)
+     real(rkind),intent(in)     :: canopyMax              ! liquid water content (kg m-2)
+     real(rkind),intent(in)     :: canopyWettingFactor    ! maximum wetted fraction of the canopy (-)
+     real(rkind),intent(in)     :: canopyWettingExp       ! exponent in canopy wetting function (-)
+    
+     real(rkind),intent(out)    :: canopyWetFraction      ! canopy wetted fraction (-)
+     real(rkind),intent(out)    :: canopyWetFractionDeriv ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+     ! local variables
+     real(rkind)                :: relativeCanopyWater    ! water stored on vegetation canopy, expressed as a fraction of maximum storage (-)
+     real(rkind)                :: rawCanopyWetFraction   ! initial value of the canopy wet fraction (before smoothing)
+     real(rkind)                :: rawWetFractionDeriv    ! derivative in canopy wet fraction w.r.t. storage (kg-1 m2)
+     real(rkind)                :: smoothFunc             ! smoothing function used to improve numerical stability at times with limited water storage (-)
+     real(rkind)                :: smoothFuncDeriv        ! derivative in the smoothing function w.r.t.canopy storage (kg-1 m2)
+     real(rkind)                :: verySmall=epsilon(1._rkind) ! a very small number
+     ! --------------------------------------------------------------------------------------------------------------
+    
+     ! compute relative canopy water
+     relativeCanopyWater = canopyLiq/canopyMax
+     !write(*,'(a,1x,e20.10,1x,2(f20.10,1x))') 'relativeCanopyWater, canopyLiq, canopyMax = ', relativeCanopyWater, canopyLiq, canopyMax
+    
+     ! compute an initial value of the canopy wet fraction
+     ! - canopy below value where canopy is 100% wet
+     if(relativeCanopyWater < 1._rkind)then
+      rawCanopyWetFraction = canopyWettingFactor*(relativeCanopyWater**canopyWettingExp)
+      if(derDesire .and. relativeCanopyWater>verySmall)then
+       rawWetFractionDeriv = (canopyWettingFactor*canopyWettingExp/canopyMax)*relativeCanopyWater**(canopyWettingExp - 1._rkind)
+      else
+       rawWetFractionDeriv = 0._rkind
+      end if
+    
+     ! - canopy is at capacity (canopyWettingFactor)
+     else
+      rawCanopyWetFraction = canopyWettingFactor
+      rawWetFractionDeriv  = 0._rkind
+     end if
+    
+     ! smooth canopy wetted fraction
+     if(smoothing)then
+      call logisticSmoother(derDesire,canopyLiq,smoothFunc,smoothFuncDeriv)
+      canopyWetFraction = rawCanopyWetFraction*smoothFunc  ! logistic smoother
+     else
+      canopyWetFraction      = rawCanopyWetFraction
+      canopyWetFractionDeriv = rawWetFractionDeriv
+     end if
+    
+     ! compute derivative (product rule)
+     if(derDesire .and. smoothing)then  ! NOTE: raw derivative is used if not smoothing
+      canopyWetFractionDeriv = rawWetFractionDeriv*smoothFunc + rawCanopyWetFraction*smoothFuncDeriv
+     else
+      canopyWetFractionDeriv = 0._rkind
+     end if
+    
+     end subroutine wetFraction
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine logisticSmoother: compute the smoothing function
+     ! *******************************************************************************************************
+     subroutine logisticSmoother(derDesire,canopyLiq,smoothFunc,smoothFuncDeriv)
+     implicit none
+     ! dummy variables
+     logical(lgt),intent(in) :: derDesire              ! flag to denote if analytical derivatives are desired
+     real(rkind),intent(in)     :: canopyLiq              ! liquid water content (kg m-2)
+     real(rkind),intent(out)    :: smoothFunc             ! smoothing function (-)
+     real(rkind),intent(out)    :: smoothFuncDeriv        ! derivative in smoothing function (kg-1 m-2)
+     ! local variables
+     real(rkind)                :: xArg                   ! argument used in the smoothing function (-)
+     real(rkind)                :: expX                   ! exp(-xArg) -- used multiple times
+     real(rkind),parameter      :: smoothThresh=0.01_rkind   ! mid-point of the smoothing function (kg m-2)
+     real(rkind),parameter      :: smoothScale=0.001_rkind   ! scaling factor for the smoothing function (kg m-2)
+     real(rkind),parameter      :: xLimit=50._rkind          ! don't compute exponents for > xLimit
+     ! --------------------------------------------------------------------------------------------------------------
+     ! compute argument in the smoothing function
+     xArg = (canopyLiq - smoothThresh)/smoothScale
+    
+     ! only compute smoothing function for small exponents
+     if(xArg > -xLimit .and. xArg < xLimit)then  ! avoid huge exponents
+      expX            = exp(-xarg)                                   ! (also used in the derivative)
+      smoothFunc      = 1._rkind / (1._rkind + expX)                       ! (logistic smoother)
+      if(derDesire)then
+       smoothFuncDeriv = expX / (smoothScale * (1._rkind + expX)**2._rkind) ! (derivative in the smoothing function)
+      else
+       smoothFuncDeriv = 0._rkind
+      end if
+    
+     ! outside limits: special case of smooth exponents
+     else
+      if(xArg < 0._rkind)then; smoothFunc = 0._rkind   ! xArg < -xLimit
+      else;                 smoothFunc = 1._rkind   ! xArg >  xLimit
+      end if
+      smoothFuncDeriv = 0._rkind
+     end if  ! check for huge exponents
+    
+     end subroutine logisticSmoother
+     ! --------------------------------------------------------------------------------------------------------------
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine longwaveBal: compute longwave radiation balance at the canopy and ground surface
+     ! *******************************************************************************************************
+     subroutine longwaveBal(&
+                            ! input: model control
+                            ixDerivMethod,                  & ! intent(in): choice of method used to compute derivative (analytical or numerical)
+                            computeVegFlux,                 & ! intent(in): flag to compute fluxes over vegetati
+                            requireLWBal,                   & ! intent(in): flag to indicate if we need longwave to be balanced
+                            ! input: canopy and ground temperature
+                            canopyTemp,                     & ! intent(in): canopy temperature (K)
+                            groundTemp,                     & ! intent(in): ground temperature (K)
+                            ! input: canopy and ground emissivity
+                            emc,                            & ! intent(in): canopy emissivity (-)
+                            emg,                            & ! intent(in): ground emissivity (-)
+                            ! input: forcing
+                            LWRadUbound,                    & ! intent(in): downwelling longwave radiation at the upper boundary (W m-2)
+                            ! output: sources
+                            LWRadCanopy,                    & ! intent(out): longwave radiation emitted from the canopy (W m-2)
+                            LWRadGround,                    & ! intent(out): longwave radiation emitted at the ground surface (W m-2)
+                            ! output: individual fluxes
+                            LWRadUbound2Canopy,             & ! intent(out): downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+                            LWRadUbound2Ground,             & ! intent(out): downward atmospheric longwave radiation absorbed by the ground (W m-2)
+                            LWRadUbound2Ubound,             & ! intent(out): atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+                            LWRadCanopy2Ubound,             & ! intent(out): longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+                            LWRadCanopy2Ground,             & ! intent(out): longwave radiation emitted from canopy absorbed by the ground (W m-2)
+                            LWRadCanopy2Canopy,             & ! intent(out): canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+                            LWRadGround2Ubound,             & ! intent(out): longwave radiation emitted from ground lost thru upper boundary (W m-2)
+                            LWRadGround2Canopy,             & ! intent(out): longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+                            ! output: net fluxes
+                            LWNetCanopy,                    & ! intent(out): net longwave radiation at the canopy (W m-2)
+                            LWNetGround,                    & ! intent(out): net longwave radiation at the ground surface (W m-2)
+                            LWNetUbound,                    & ! intent(out): net longwave radiation at the upper boundary (W m-2)
+                            ! output: flux derivatives
+                            dLWNetCanopy_dTCanopy,          & ! intent(out): derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+                            dLWNetGround_dTGround,          & ! intent(out): derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+                            dLWNetCanopy_dTGround,          & ! intent(out): derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+                            dLWNetGround_dTCanopy,          & ! intent(out): derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+                            ! output: error control
+                            err,message                     ) ! intent(out): error control
+     ! -----------------------------------------------------------------------------------------------------------------------------------------------
+     implicit none
+     ! input: model control
+     integer(i4b),intent(in)       :: ixDerivMethod            ! choice of method used to compute derivative (analytical or numerical)
+     logical(lgt),intent(in)       :: computeVegFlux           ! flag to indicate if computing fluxes over vegetation
+     logical(lgt),intent(in)       :: requireLWBal             ! flag to indicate if we need longwave to be balanced
+     ! input: canopy and ground temperature
+     real(rkind),intent(in)           :: canopyTemp               ! canopy temperature (K)
+     real(rkind),intent(in)           :: groundTemp               ! ground temperature (K)
+     ! input: canopy and ground emissivity
+     real(rkind),intent(in)           :: emc                      ! canopy emissivity (-)
+     real(rkind),intent(in)           :: emg                      ! ground emissivity (-)
+     ! input: forcing
+     real(rkind),intent(in)           :: LWRadUbound              ! downwelling longwave radiation at the upper boundary (W m-2)
+     ! output: sources
+     real(rkind),intent(out)          :: LWRadCanopy              ! longwave radiation emitted from the canopy (W m-2)
+     real(rkind),intent(out)          :: LWRadGround              ! longwave radiation emitted at the ground surface (W m-2)
+     ! output: individual fluxes
+     real(rkind),intent(out)          :: LWRadUbound2Canopy       ! downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+     real(rkind),intent(out)          :: LWRadUbound2Ground       ! downward atmospheric longwave radiation absorbed by the ground (W m-2)
+     real(rkind),intent(out)          :: LWRadUbound2Ubound       ! atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+     real(rkind),intent(out)          :: LWRadCanopy2Ubound       ! longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+     real(rkind),intent(out)          :: LWRadCanopy2Ground       ! longwave radiation emitted from canopy absorbed by the ground (W m-2)
+     real(rkind),intent(out)          :: LWRadCanopy2Canopy       ! canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+     real(rkind),intent(out)          :: LWRadGround2Ubound       ! longwave radiation emitted from ground lost thru upper boundary (W m-2)
+     real(rkind),intent(out)          :: LWRadGround2Canopy       ! longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+     ! output: net fluxes
+     real(rkind),intent(out)          :: LWNetCanopy              ! net longwave radiation at the canopy (W m-2)
+     real(rkind),intent(out)          :: LWNetGround              ! net longwave radiation at the ground surface (W m-2)
+     real(rkind),intent(out)          :: LWNetUbound              ! net longwave radiation at the upper boundary (W m-2)
+     ! output: flux derivatives
+     real(rkind),intent(out)          :: dLWNetCanopy_dTCanopy    ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLWNetGround_dTGround    ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLWNetCanopy_dTGround    ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLWNetGround_dTCanopy    ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+     ! output: error control
+     integer(i4b),intent(out)      :: err                      ! error code
+     character(*),intent(out)      :: message                  ! error message
+     ! -----------------------------------------------------------------------------------------------------------------------------------------------
+     ! local variables
+     integer(i4b),parameter        :: unperturbed=1            ! named variable to identify the case of unperturbed state variables
+     integer(i4b),parameter        :: perturbStateCanopy=2     ! named variable to identify the case where we perturb the canopy temperature
+     integer(i4b),parameter        :: perturbStateGround=3     ! named variable to identify the case where we perturb the ground temperature
+     integer(i4b)                  :: itry                     ! index of flux evaluation
+     integer(i4b)                  :: nFlux                    ! number of flux evaluations
+     real(rkind)                      :: TCan                     ! value of canopy temperature used in flux calculations (may be perturbed)
+     real(rkind)                      :: TGnd                     ! value of ground temperature used in flux calculations (may be perturbed)
+     real(rkind)                      :: fluxBalance              ! check energy closure (W m-2)
+     real(rkind),parameter            :: fluxTolerance=1.e-10_rkind  ! tolerance for energy closure (W m-2)
+     real(rkind)                      :: dLWRadCanopy_dTCanopy    ! derivative in emitted radiation at the canopy w.r.t. canopy temperature
+     real(rkind)                      :: dLWRadGround_dTGround    ! derivative in emitted radiation at the ground w.r.t. ground temperature
+     real(rkind)                      :: LWNetCanopy_dStateCanopy ! net lw canopy flux after perturbation in canopy temperature
+     real(rkind)                      :: LWNetGround_dStateCanopy ! net lw ground flux after perturbation in canopy temperature
+     real(rkind)                      :: LWNetCanopy_dStateGround ! net lw canopy flux after perturbation in ground temperature
+     real(rkind)                      :: LWNetGround_dStateGround ! net lw ground flux after perturbation in ground temperature
+     ! -----------------------------------------------------------------------------------------------------------------------------------------------
+     ! initialize error control
+     err=0; message='longwaveBal/'
+    
+     ! check the need to compute numerical derivatives
+     if(ixDerivMethod==numerical)then
+      nFlux=3  ! compute the derivatives using one-sided finite differences
+     else
+      nFlux=1  ! compute analytical derivatives
+     end if
+    
+     ! either one or multiple flux calls, depending on if using analytical or numerical derivatives
+     do itry=nFlux,1,-1  ! (work backwards to ensure all computed fluxes come from the un-perturbed case)
+    
+      !print*, 'perturbation: ', (itry==unperturbed), (itry==perturbStateCanopy), (itry==perturbStateGround)
+    
+      ! -------------------------------------------------------------------------------------
+      ! state perturbations for numerical deriavtives with one-sided finite differences
+      ! note: no perturbations performed using analytical derivatives (nFlux=1)
+      ! -------------------------------------------------------------------------------------
+    
+      ! identify the type of perturbation
+      select case(itry)
+    
+       ! un-perturbed case
+       case(unperturbed)
+        TCan = canopyTemp
+        TGnd = groundTemp
+    
+       ! perturb canopy temperature
+       case(perturbStateCanopy)
+        TCan = canopyTemp + dx
+        TGnd = groundTemp
+    
+       ! perturb ground temperature
+       case(perturbStateGround)
+        TCan = canopyTemp
+        TGnd = groundTemp + dx
+    
+       ! check for an unknown perturbation
+       case default; err=10; message=trim(message)//"unknown perturbation"; return
+    
+      end select ! (type of perturbation)
+    
+      ! -------------------------------------------------------------------------------------
+      ! calculation block (unperturbed fluxes returned [computed last])
+      ! -------------------------------------------------------------------------------------
+      ! NOTE: emc should be set to zero when not computing canopy fluxes
+    
+      ! compute longwave fluxes from canopy and the ground
+      if(computeVegFlux)then
+       LWRadCanopy = emc*sb*TCan**4._rkind                                           ! longwave radiation emitted from the canopy (W m-2)
+      else
+       LWRadCanopy = 0._rkind
+      end if
+      LWRadGround = emg*sb*TGnd**4._rkind                                           ! longwave radiation emitted at the ground surface (W m-2)
+    
+      ! compute fluxes originating from the atmosphere
+      LWRadUbound2Canopy = (emc + (1._rkind - emc)*(1._rkind - emg)*emc)*LWRadUbound   ! downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+      LWRadUbound2Ground = (1._rkind - emc)*emg*LWRadUbound                         ! downward atmospheric longwave radiation absorbed by the ground (W m-2)
+      LWRadUbound2Ubound = (1._rkind - emc)*(1._rkind - emg)*(1._rkind - emc)*LWRadUbound ! atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+    
+      ! compute fluxes originating from the canopy
+      LWRadCanopy2Ubound = (1._rkind + (1._rkind - emc)*(1._rkind - emg))*LWRadCanopy     ! longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+      LWRadCanopy2Ground = emg*LWRadCanopy                                       ! longwave radiation emitted from canopy absorbed by the ground (W m-2)
+      LWRadCanopy2Canopy = emc*(1._rkind - emg)*LWRadCanopy                         ! canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+    
+      ! compute fluxes originating from the ground surface
+      LWRadGround2Ubound = (1._rkind - emc)*LWRadGround                             ! longwave radiation emitted from ground lost thru upper boundary (W m-2)
+      LWRadGround2Canopy = emc*LWRadGround                                       ! longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+    
+      ! compute net longwave radiation (W m-2)
+      LWNetCanopy = LWRadUbound2Canopy + LWRadGround2Canopy + LWRadCanopy2Canopy - 2._rkind*LWRadCanopy  ! canopy
+      LWNetGround = LWRadUbound2Ground + LWRadCanopy2Ground - LWRadGround                             ! ground surface
+      LWNetUbound = LWRadUbound - LWRadUbound2Ubound - LWRadCanopy2Ubound - LWRadGround2Ubound                             ! upper boundary
+    
+      !print*, 'LWRadCanopy = ', LWRadCanopy
+      !print*, 'LWRadGround = ', LWRadGround
+    
+      !print*, 'LWNetCanopy = ', LWNetCanopy
+      !print*, 'LWNetGround = ', LWNetGround
+      !print*, 'LWNetUbound = ', LWNetUbound
+    
+      ! check the flux balance
+      if(requireLWBal)then
+       fluxBalance = LWNetUbound - (LWNetCanopy + LWNetGround)
+       if(abs(fluxBalance) > fluxTolerance)then
+        print*, 'fluxBalance = ', fluxBalance
+        print*, 'emg, emc = ', emg, emc
+        print*, 'TCan, TGnd = ', TCan, TGnd
+        print*, 'LWRadUbound = ', LWRadUbound
+        print*, 'LWRadCanopy = ', LWRadCanopy
+        print*, 'LWRadGround = ', LWRadGround
+        print*, 'LWRadUbound2Canopy = ', LWRadUbound2Canopy
+        print*, 'LWRadUbound2Ground = ', LWRadUbound2Ground
+        print*, 'LWRadUbound2Ubound = ', LWRadUbound2Ubound
+        print*, 'LWRadCanopy2Ubound = ', LWRadCanopy2Ubound
+        print*, 'LWRadCanopy2Ground = ', LWRadCanopy2Ground
+        print*, 'LWRadCanopy2Canopy = ', LWRadCanopy2Canopy
+        print*, 'LWRadGround2Ubound = ', LWRadGround2Ubound
+        print*, 'LWRadGround2Canopy = ', LWRadGround2Canopy
+        print*, 'LWNetCanopy = ', LWNetCanopy
+        print*, 'LWNetGround = ', LWNetGround
+        print*, 'LWNetUbound = ', LWNetUbound
+        message=trim(message)//'flux imbalance'
+        err=20; return
+       end if
+      end if
+    
+      ! --------------------------------------------------------------------------------------
+      ! save perturbed fluxes to calculate numerical derivatives (one-sided finite difference)
+      ! --------------------------------------------------------------------------------------
+      if(ixDerivMethod==numerical)then
+       select case(itry) ! (select type of perturbation)
+        case(unperturbed); exit
+        case(perturbStateCanopy)
+         LWNetCanopy_dStateCanopy = LWNetCanopy
+         LWNetGround_dStateCanopy = LWNetGround
+        case(perturbStateGround)
+         LWNetCanopy_dStateGround = LWNetCanopy
+         LWNetGround_dStateGround = LWNetGround
+        case default; err=10; message=trim(message)//"unknown perturbation"; return
+       end select ! (type of perturbation)
+      end if ! (if numerical)
+    
+     end do  ! looping through different perturbations
+    
+     ! -------------------------------------------------------------------------------------
+     ! compute derivatives
+     ! -------------------------------------------------------------------------------------
+     select case(ixDerivMethod)
+    
+      ! ***** analytical derivatives
+      case(analytical)
+       ! compute initial derivatives
+       dLWRadCanopy_dTCanopy = 4._rkind*emc*sb*TCan**3._rkind
+       dLWRadGround_dTGround = 4._rkind*emg*sb*TGnd**3._rkind
+       ! compute analytical derivatives
+       dLWNetCanopy_dTCanopy = (emc*(1._rkind - emg) - 2._rkind)*dLWRadCanopy_dTCanopy ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+       dLWNetGround_dTGround = -dLWRadGround_dTGround     ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+       dLWNetCanopy_dTGround = emc*dLWRadGround_dTGround  ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+       dLWNetGround_dTCanopy = emg*dLWRadCanopy_dTCanopy  ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+    
+      ! ***** numerical derivatives
+      case(numerical)
+       ! compute numerical derivatives (one-sided finite differences)
+       dLWNetCanopy_dTCanopy = (LWNetCanopy_dStateCanopy - LWNetCanopy)/dx  ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+       dLWNetGround_dTGround = (LWNetGround_dStateGround - LWNetGround)/dx  ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+       dLWNetCanopy_dTGround = (LWNetCanopy_dStateGround - LWNetCanopy)/dx  ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+       dLWNetGround_dTCanopy = (LWNetGround_dStateCanopy - LWNetGround)/dx  ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+    
+      ! ***** error check
+      case default; err=10; message=trim(message)//"unknown method to calculate derivatives"; return
+    
+     end select ! (type of method to calculate derivatives)
+    
+     end subroutine longwaveBal
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine aeroResist: compute aerodynamic resistances
+     ! *******************************************************************************************************
+     subroutine aeroResist(&
+                           ! input: model control
+                           computeVegFlux,                & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                           derivDesired,                  & ! intent(in): flag to indicate if analytical derivatives are desired
+                           ixVegTraits,                   & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
+                           ixWindProfile,                 & ! intent(in): choice of canopy wind profile
+                           ixStability,                   & ! intent(in): choice of stability function
+                           ! input: above-canopy forcing data
+                           mHeight,                       & ! intent(in): measurement height (m)
+                           airtemp,                       & ! intent(in): air temperature at some height above the surface (K)
+                           windspd,                       & ! intent(in): wind speed at some height above the surface (m s-1)
+                           ! input: temperature (canopy, ground, canopy air space)
+                           canairTemp,                    & ! intent(in): temperature of the canopy air space (K)
+                           groundTemp,                    & ! intent(in): ground temperature (K)
+                           ! input: diagnostic variables
+                           exposedVAI,                    & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                           snowDepth,                     & ! intent(in): snow depth (m)
+                           ! input: parameters
+                           z0Ground,                      & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+                           z0CanopyParam,                 & ! intent(in): roughness length of the canopy (m)
+                           zpdFraction,                   & ! intent(in): zero plane displacement / canopy height (-)
+                           critRichNumber,                & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
+                           Louis79_bparam,                & ! intent(in): parameter in Louis (1979) stability function
+                           Mahrt87_eScale,                & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
+                           windReductionParam,            & ! intent(in): canopy wind reduction parameter (-)
+                           leafExchangeCoeff,             & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+                           leafDimension,                 & ! intent(in): characteristic leaf dimension (m)
+                           heightCanopyTop,               & ! intent(in): height at the top of the vegetation canopy (m)
+                           heightCanopyBottom,            & ! intent(in): height at the bottom of the vegetation canopy (m)
+                           ! output: stability corrections
+                           RiBulkCanopy,                  & ! intent(out): bulk Richardson number for the canopy (-)
+                           RiBulkGround,                  & ! intent(out): bulk Richardson number for the ground surface (-)
+                           canopyStabilityCorrection,     & ! intent(out): stability correction for the canopy (-)
+                           groundStabilityCorrection,     & ! intent(out): stability correction for the ground surface (-)
+                           ! output: scalar resistances
+                           z0Canopy,                      & ! intent(out): roughness length of the canopy (m)
+                           windReductionFactor,           & ! intent(out): canopy wind reduction factor (-)
+                           zeroPlaneDisplacement,         & ! intent(out): zero plane displacement (m)
+                           eddyDiffusCanopyTop,           & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
+                           frictionVelocity,              & ! intent(out): friction velocity (m s-1)
+                           windspdCanopyTop,              & ! intent(out): windspeed at the top of the canopy (m s-1)
+                           windspdCanopyBottom,           & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
+                           leafResistance,                & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                           groundResistance,              & ! intent(out): below canopy aerodynamic resistance (s m-1)
+                           canopyResistance,              & ! intent(out): above canopy aerodynamic resistance (s m-1)
+                           ! output: derivatives in scalar resistances
+                           dGroundResistance_dTGround,    & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                           dGroundResistance_dTCanopy,    & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                           dGroundResistance_dTCanair,    & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                           dCanopyResistance_dTCanopy,    & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                           dCanopyResistance_dTCanair,    & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                           ! output: error control
+                           err,message                    ) ! intent(out): error control
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! compute aerodynamic resistances
+     ! Refs: Choudhury and Monteith (4-layer model for heat budget of homogenous surfaces; QJRMS, 1988)
+     !       Niu and Yang (Canopy effects on snow processes; JGR, 2004)
+     !       Mahat et al. (Below-canopy turbulence in a snowmelt model, WRR, 2012)
+     implicit none
+     ! input: model control
+     logical(lgt),intent(in)       :: computeVegFlux                ! logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+     logical(lgt),intent(in)       :: derivDesired                  ! logical flag to indicate if analytical derivatives are desired
+     integer(i4b),intent(in)       :: ixVegTraits                   ! choice of parameterization for vegetation roughness length and displacement height
+     integer(i4b),intent(in)       :: ixWindProfile                 ! choice of canopy wind profile
+     integer(i4b),intent(in)       :: ixStability                   ! choice of stability function
+     ! input: above-canopy forcing data
+     real(rkind),intent(in)           :: mHeight                       ! measurement height (m)
+     real(rkind),intent(in)           :: airtemp                       ! air temperature at some height above the surface (K)
+     real(rkind),intent(in)           :: windspd                       ! wind speed at some height above the surface (m s-1)
+     ! input: temperature (canopy, ground, canopy air space)
+     real(rkind),intent(in)           :: canairTemp                    ! temperature of the canopy air space (K)
+     real(rkind),intent(in)           :: groundTemp                    ! ground temperature (K)
+     ! input: diagnostic variables
+     real(rkind),intent(in)           :: exposedVAI                    ! exposed vegetation area index -- leaf plus stem (m2 m-2)
+     real(rkind),intent(in)           :: snowDepth                     ! snow depth (m)
+     ! input: parameters
+     real(rkind),intent(in)           :: z0Ground                      ! roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+     real(rkind),intent(in)           :: z0CanopyParam                 ! roughness length of the canopy (m)
+     real(rkind),intent(in)           :: zpdFraction                   ! zero plane displacement / canopy height (-)
+     real(rkind),intent(in)           :: critRichNumber                ! critical value for the bulk Richardson number where turbulence ceases (-)
+     real(rkind),intent(in)           :: Louis79_bparam                ! parameter in Louis (1979) stability function
+     real(rkind),intent(in)           :: Mahrt87_eScale                ! exponential scaling factor in the Mahrt (1987) stability function
+     real(rkind),intent(in)           :: windReductionParam            ! canopy wind reduction parameter (-)
+     real(rkind),intent(in)           :: leafExchangeCoeff             ! turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+     real(rkind),intent(in)           :: leafDimension                 ! characteristic leaf dimension (m)
+     real(rkind),intent(in)           :: heightCanopyTop               ! height at the top of the vegetation canopy (m)
+     real(rkind),intent(in)           :: heightCanopyBottom            ! height at the bottom of the vegetation canopy (m)
+     ! output: stability corrections
+     real(rkind),intent(out)          :: RiBulkCanopy                  ! bulk Richardson number for the canopy (-)
+     real(rkind),intent(out)          :: RiBulkGround                  ! bulk Richardson number for the ground surface (-)
+     real(rkind),intent(out)          :: canopyStabilityCorrection     ! stability correction for the canopy (-)
+     real(rkind),intent(out)          :: groundStabilityCorrection     ! stability correction for the ground surface (-)
+     ! output: scalar resistances
+     real(rkind),intent(out)          :: z0Canopy                      ! roughness length of the vegetation canopy (m)
+     real(rkind),intent(out)          :: windReductionFactor           ! canopy wind reduction factor (-)
+     real(rkind),intent(out)          :: zeroPlaneDisplacement         ! zero plane displacement (m)
+     real(rkind),intent(out)          :: eddyDiffusCanopyTop           ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+     real(rkind),intent(out)          :: frictionVelocity              ! friction velocity (m s-1)
+     real(rkind),intent(out)          :: windspdCanopyTop              ! windspeed at the top of the canopy (m s-1)
+     real(rkind),intent(out)          :: windspdCanopyBottom           ! windspeed at the height of the bottom of the canopy (m s-1)
+     real(rkind),intent(out)          :: leafResistance                ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+     real(rkind),intent(out)          :: groundResistance              ! below canopy aerodynamic resistance (s m-1)
+     real(rkind),intent(out)          :: canopyResistance              ! above canopy aerodynamic resistance (s m-1)
+     ! output: derivatives in scalar resistances
+     real(rkind),intent(out)          :: dGroundResistance_dTGround    ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+     real(rkind),intent(out)          :: dGroundResistance_dTCanopy    ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind),intent(out)          :: dGroundResistance_dTCanair    ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+     real(rkind),intent(out)          :: dCanopyResistance_dTCanopy    ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind),intent(out)          :: dCanopyResistance_dTCanair    ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+     ! output: error control
+     integer(i4b),intent(out)      :: err                           ! error code
+     character(*),intent(out)      :: message                       ! error message
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! local variables: general
+     character(LEN=256)            :: cmessage                      ! error message of downwind routine
+     ! local variables: vegetation roughness and dispalcement height
+     real(rkind),parameter            :: oneThird=1._rkind/3._rkind          ! 1/3
+     real(rkind),parameter            :: twoThirds=2._rkind/3._rkind         ! 2/3
+     real(rkind),parameter            :: C_r = 0.3                     ! roughness element drag coefficient (-) from Raupach (BLM, 1994)
+     real(rkind),parameter            :: C_s = 0.003_rkind                ! substrate surface drag coefficient (-) from Raupach (BLM, 1994)
+     real(rkind),parameter            :: approxDragCoef_max = 0.3_rkind   ! maximum value of the approximate drag coefficient (-) from Raupach (BLM, 1994)
+     real(rkind),parameter            :: psi_h = 0.193_rkind              ! roughness sub-layer influence function (-) from Raupach (BLM, 1994)
+     real(rkind),parameter            :: c_d1 = 7.5_rkind                 ! scaling parameter used to define displacement height (-) from Raupach (BLM, 1994)
+     real(rkind),parameter            :: cd_CM = 0.2_rkind                ! mean drag coefficient for individual leaves (-) from Choudhury and Monteith (QJRMS, 1988)
+     real(rkind)                      :: funcLAI                       ! temporary variable to calculate zero plane displacement for the canopy
+     real(rkind)                      :: fracCanopyHeight              ! zero plane displacement expressed as a fraction of canopy height
+     real(rkind)                      :: approxDragCoef                ! approximate drag coefficient used in the computation of canopy roughness length (-)
+     ! local variables: resistance
+     real(rkind)                      :: canopyExNeut                  ! surface-atmosphere exchange coefficient under neutral conditions (-)
+     real(rkind)                      :: groundExNeut                  ! surface-atmosphere exchange coefficient under neutral conditions (-)
+     real(rkind)                      :: sfc2AtmExchangeCoeff_canopy   ! surface-atmosphere exchange coefficient after stability corrections (-)
+     real(rkind)                      :: groundResistanceNeutral       ! ground resistance under neutral conditions (s m-1)
+     real(rkind)                      :: windConvFactor_fv             ! factor to convert friction velocity to wind speed at top of canopy (-)
+     real(rkind)                      :: windConvFactor                ! factor to convert wind speed at top of canopy to wind speed at a given height in the canopy (-)
+     real(rkind)                      :: referenceHeight               ! z0Canopy+zeroPlaneDisplacement (m)
+     real(rkind)                      :: windspdRefHeight              ! windspeed at the reference height (m/s)
+     real(rkind)                      :: heightAboveGround             ! height above the snow surface (m)
+     real(rkind)                      :: heightCanopyTopAboveSnow      ! height at the top of the vegetation canopy relative to snowpack (m)
+     real(rkind)                      :: heightCanopyBottomAboveSnow   ! height at the bottom of the vegetation canopy relative to snowpack (m)
+     real(rkind),parameter            :: xTolerance=0.1_rkind             ! tolerance to handle the transition from exponential to log-below canopy
+     ! local variables: derivatives
+     real(rkind)                      :: dFV_dT                        ! derivative in friction velocity w.r.t. canopy air temperature
+     real(rkind)                      :: dED_dT                        ! derivative in eddy diffusivity at the top of the canopy w.r.t. canopy air temperature
+     real(rkind)                      :: dGR_dT                        ! derivative in neutral ground resistance w.r.t. canopy air temperature
+     real(rkind)                      :: tmp1,tmp2                     ! temporary variables used in calculation of ground resistance
+     real(rkind)                      :: dCanopyStabilityCorrection_dRich     ! derivative in stability correction w.r.t. Richardson number for the canopy (-)
+     real(rkind)                      :: dGroundStabilityCorrection_dRich     ! derivative in stability correction w.r.t. Richardson number for the ground surface (-)
+     real(rkind)                      :: dCanopyStabilityCorrection_dAirTemp  ! (not used) derivative in stability correction w.r.t. air temperature (K-1)
+     real(rkind)                      :: dGroundStabilityCorrection_dAirTemp  ! (not used) derivative in stability correction w.r.t. air temperature (K-1)
+     real(rkind)                      :: dCanopyStabilityCorrection_dCasTemp  ! derivative in canopy stability correction w.r.t. canopy air space temperature (K-1)
+     real(rkind)                      :: dGroundStabilityCorrection_dCasTemp  ! derivative in ground stability correction w.r.t. canopy air space temperature (K-1)
+     real(rkind)                      :: dGroundStabilityCorrection_dSfcTemp  ! derivative in ground stability correction w.r.t. surface temperature (K-1)
+     real(rkind)                      :: singleLeafConductance         ! leaf boundary layer conductance (m s-1)
+     real(rkind)                      :: canopyLeafConductance         ! leaf boundary layer conductance -- scaled up to the canopy (m s-1)
+     real(rkind)                      :: leaf2CanopyScaleFactor        ! factor to scale from the leaf to the canopy [m s-(1/2)]
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! initialize error control
+     err=0; message='aeroResist/'
+    
+     ! check that measurement height is above the top of the canopy
+     if(mHeight < heightCanopyTop)then
+      err=20; message=trim(message)//'measurement height is below the top of the canopy'; return
+     end if
+    
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! * compute vegetation poperties (could be done at the same time as phenology.. does not have to be in the flux routine!)
+     if(computeVegFlux) then ! (if vegetation is exposed)
+    
+      ! ***** identify zero plane displacement, roughness length, and surface temperature for the canopy (m)
+      ! First, calculate new coordinate system above snow - use these to scale wind profiles and resistances
+      ! NOTE: the new coordinate system makes zeroPlaneDisplacement and z0Canopy consistent
+      heightCanopyTopAboveSnow = heightCanopyTop - snowDepth
+      heightCanopyBottomAboveSnow = max(heightCanopyBottom - snowDepth, 0.0_rkind)
+      select case(ixVegTraits)
+    
+       ! Raupach (BLM 1994) "Simplified expressions..."
+       case(Raupach_BLM1994)
+        ! (compute zero-plane displacement)
+        funcLAI          = sqrt(c_d1*exposedVAI)
+        fracCanopyHeight = -(1._rkind - exp(-funcLAI))/funcLAI + 1._rkind
+        zeroPlaneDisplacement = fracCanopyHeight*(heightCanopyTopAboveSnow-heightCanopyBottomAboveSnow)+heightCanopyBottomAboveSnow
+        ! (coupute roughness length of the veg canopy)
+        approxDragCoef   = min( sqrt(C_s + C_r*exposedVAI/2._rkind), approxDragCoef_max)
+        z0Canopy         = (1._rkind - fracCanopyHeight) * exp(-vkc*approxDragCoef - psi_h) * (heightCanopyTopAboveSnow-heightCanopyBottomAboveSnow)
+    
+       ! Choudhury and Monteith (QJRMS 1988) "A four layer model for the heat budget..."
+       case(CM_QJRMS1988)
+        funcLAI =  cd_CM*exposedVAI
+        zeroPlaneDisplacement = 1.1_rkind*heightCanopyTopAboveSnow*log(1._rkind + funcLAI**0.25_rkind)
+        if(funcLAI < 0.2_rkind)then
+         z0Canopy = z0Ground + 0.3_rkind*heightCanopyTopAboveSnow*funcLAI**0.5_rkind
+        else
+         z0Canopy = 0.3_rkind*heightCanopyTopAboveSnow*(1._rkind - zeroPlaneDisplacement/heightCanopyTopAboveSnow)
+        end if
+    
+       ! constant parameters dependent on the vegetation type
+       case(vegTypeTable)
+        zeroPlaneDisplacement = zpdFraction*heightCanopyTopAboveSnow  ! zero-plane displacement (m)
+        z0Canopy = z0CanopyParam                                      ! roughness length of the veg canopy (m)
+    
+       ! check
+       case default
+        err=10; message=trim(message)//"unknown parameterization for vegetation roughness length and displacement height"; return
+    
+      end select  ! vegetation traits (z0, zpd)
+    
+      ! check zero plane displacement
+      if(zeroPlaneDisplacement < heightCanopyBottomAboveSnow)then
+       write(*,'(a,1x,10(f12.5,1x))') 'heightCanopyTop, snowDepth, heightCanopyTopAboveSnow, heightCanopyBottomAboveSnow, exposedVAI = ', &
+                                       heightCanopyTop, snowDepth, heightCanopyTopAboveSnow, heightCanopyBottomAboveSnow, exposedVAI
+       message=trim(message)//'zero plane displacement is below the canopy bottom'
+       err=20; return
+      endif
+    
+      ! check measurement height
+      if(mHeight < zeroPlaneDisplacement)then; err=20; message=trim(message)//'measurement height is below the displacement height'; return; end if
+      if(mHeight < z0Canopy)then; err=20; message=trim(message)//'measurement height is below the roughness length'; return; end if
+    
+      ! -----------------------------------------------------------------------------------------------------------------------------------------
+      ! -----------------------------------------------------------------------------------------------------------------------------------------
+      ! * compute resistance for the case where the canopy is exposed
+      ! compute the stability correction for resistance from canopy air space to air above the canopy (-)
+      call aStability(&
+                      ! input
+                      derivDesired,                                     & ! input: logical flag to compute analytical derivatives
+                      ixStability,                                      & ! input: choice of stability function
+                      ! input: forcing data, diagnostic and state variables
+                      mHeight,                                          & ! input: measurement height (m)
+                      airTemp,                                          & ! input: air temperature above the canopy (K)
+                      canairTemp,                                       & ! input: temperature of the canopy air space (K)
+                      windspd,                                          & ! input: wind speed above the canopy (m s-1)
+                      ! input: stability parameters
+                      critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                      Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
+                      Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                      ! output
+                      RiBulkCanopy,                                     & ! output: bulk Richardson number (-)
+                      canopyStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
+                      dCanopyStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the canopy (-)
+                      dCanopyStabilityCorrection_dAirTemp,              & ! output: (not used) derivative in stability correction w.r.t. air temperature (K-1)
+                      dCanopyStabilityCorrection_dCasTemp,              & ! output: derivative in stability correction w.r.t. canopy air space temperature (K-1)
+                      err, cmessage                                     ) ! output: error control
+      if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+      ! compute turbulent exchange coefficient (-)
+      canopyExNeut = (vkc**2._rkind) / ( log((mHeight - zeroPlaneDisplacement)/z0Canopy))**2._rkind     ! coefficient under conditions of neutral stability
+      sfc2AtmExchangeCoeff_canopy = canopyExNeut*canopyStabilityCorrection                        ! after stability corrections
+    
+      ! compute the friction velocity (m s-1)
+      frictionVelocity = windspd * sqrt(sfc2AtmExchangeCoeff_canopy)
+    
+      ! compute the above-canopy resistance (s m-1)
+      canopyResistance = 1._rkind/(sfc2AtmExchangeCoeff_canopy*windspd)
+      if(canopyResistance < 0._rkind)then; err=20; message=trim(message)//'canopy resistance < 0'; return; end if
+    
+      ! compute windspeed at the top of the canopy above snow depth (m s-1)
+      ! NOTE: stability corrections cancel out
+      windConvFactor_fv = log((heightCanopyTopAboveSnow - zeroPlaneDisplacement)/z0Canopy) / log((mHeight - snowDepth - zeroPlaneDisplacement)/z0Canopy)
+      windspdCanopyTop  = windspd*windConvFactor_fv
+    
+      ! compute the windspeed reduction
+      ! Refs: Norman et al. (Ag. Forest Met., 1995) -- citing Goudriaan (1977 manuscript "crop micrometeorology: a simulation study", Wageningen).
+      windReductionFactor = windReductionParam * exposedVAI**twoThirds * (heightCanopyTopAboveSnow - heightCanopyBottomAboveSnow)**oneThird / leafDimension**oneThird
+    
+      ! compute windspeed at the height z0Canopy+zeroPlaneDisplacement (m s-1)
+      referenceHeight   = z0Canopy+zeroPlaneDisplacement
+      windConvFactor    = exp(-windReductionFactor*(1._rkind - (referenceHeight/heightCanopyTopAboveSnow)))
+      windspdRefHeight  = windspdCanopyTop*windConvFactor
+    
+      ! compute windspeed at the bottom of the canopy relative to the snow depth (m s-1)
+      windConvFactor       = exp(-windReductionFactor*(1._rkind - (heightCanopyBottomAboveSnow/heightCanopyTopAboveSnow)))
+      windspdCanopyBottom  = windspdCanopyTop*windConvFactor
+    
+      ! compute the leaf boundary layer resistance (s m-1)
+      singleLeafConductance  = leafExchangeCoeff*sqrt(windspdCanopyTop/leafDimension)
+      leaf2CanopyScaleFactor = (2._rkind/windReductionFactor) * (1._rkind - exp(-windReductionFactor/2._rkind)) ! factor to scale from the leaf to the canopy
+      canopyLeafConductance  = singleLeafConductance*leaf2CanopyScaleFactor
+      leafResistance         = 1._rkind/(canopyLeafConductance)
+      if(leafResistance < 0._rkind)then; err=20; message=trim(message)//'leaf resistance < 0'; return; end if
+    
+      ! compute eddy diffusivity for heat at the top of the canopy (m2 s-1)
+      !  Note: use of friction velocity here includes stability adjustments
+      !  Note: max used to avoid dividing by zero
+      eddyDiffusCanopyTop = max(vkc*FrictionVelocity*(heightCanopyTopAboveSnow - zeroPlaneDisplacement), mpe)
+    
+      ! compute the resistance between the surface and canopy air UNDER NEUTRAL CONDITIONS (s m-1)
+    
+      ! case 1: assume exponential profile extends from the snow depth plus surface roughness length to the displacement height plus vegetation roughness
+      if(ixWindProfile==exponential .or. heightCanopyBottomAboveSnow<z0Ground+xTolerance)then
+    
+       ! compute the neutral ground resistance
+       tmp1 = exp(-windReductionFactor* z0Ground/heightCanopyTopAboveSnow)
+       tmp2 = exp(-windReductionFactor*(z0Canopy+zeroPlaneDisplacement)/heightCanopyTopAboveSnow)
+       groundResistanceNeutral = ( heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop) ) * (tmp1 - tmp2)   ! s m-1
+    
+      ! case 2: logarithmic profile from snow depth plus roughness height to bottom of the canopy
+      ! NOTE: heightCanopyBottomAboveSnow>z0Ground+xTolerance
+      else
+    
+       ! compute the neutral ground resistance
+       ! (first, component between heightCanopyBottomAboveSnow and z0Canopy+zeroPlaneDisplacement)
+       tmp1  = exp(-windReductionFactor* heightCanopyBottomAboveSnow/heightCanopyTopAboveSnow)
+       tmp2  = exp(-windReductionFactor*(z0Canopy+zeroPlaneDisplacement)/heightCanopyTopAboveSnow)
+       groundResistanceNeutral = ( heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop) ) * (tmp1 - tmp2)
+       ! (add log-below-canopy component)
+       groundResistanceNeutral = groundResistanceNeutral + (1._rkind/(max(0.1_rkind,windspdCanopyBottom)*vkc**2._rkind))*(log(heightCanopyBottomAboveSnow/z0Ground))**2._rkind
+    
+      endif  ! switch between exponential profile and log-below-canopy
+    
+      ! compute the stability correction for resistance from the ground to the canopy air space (-)
+      ! NOTE: here we are interested in the windspeed at height z0Canopy+zeroPlaneDisplacement
+      call aStability(&
+                      ! input
+                      derivDesired,                                     & ! input: logical flag to compute analytical derivatives
+                      ixStability,                                      & ! input: choice of stability function
+                      ! input: forcing data, diagnostic and state variables
+                      referenceHeight,                                  & ! input: height of the canopy air space temperature/wind (m)
+                      canairTemp,                                       & ! input: temperature of the canopy air space (K)
+                      groundTemp,                                       & ! input: temperature of the ground surface (K)
+                      max(0.1_rkind,windspdRefHeight),                     & ! input: wind speed at height z0Canopy+zeroPlaneDisplacement (m s-1)
+                      ! input: stability parameters
+                      critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                      Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
+                      Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                      ! output
+                      RiBulkGround,                                     & ! output: bulk Richardson number (-)
+                      groundStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
+                      dGroundStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the canopy (-)
+                      dGroundStabilityCorrection_dCasTemp,              & ! output: derivative in stability correction w.r.t. canopy air space temperature (K-1)
+                      dGroundStabilityCorrection_dSfcTemp,              & ! output: derivative in stability correction w.r.t. surface temperature (K-1)
+                      err, cmessage                                     ) ! output: error control
+      if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+      ! compute the ground resistance
+      groundResistance = groundResistanceNeutral / groundStabilityCorrection
+      if(groundResistance < 0._rkind)then; err=20; message=trim(message)//'ground resistance < 0 [vegetation is present]'; return; end if
+    
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! * compute resistance for the case without a canopy (bare ground, or canopy completely buried with snow)
+     else
+    
+      ! no canopy, so set huge resistances (not used)
+      canopyResistance = 1.e12_rkind   ! not used: huge resistance, so conductance is essentially zero
+      leafResistance   = 1.e12_rkind   ! not used: huge resistance, so conductance is essentially zero
+    
+      ! check that measurement height above the ground surface is above the roughness length
+      if(mHeight < snowDepth+z0Ground)then; err=20; message=trim(message)//'measurement height < snow depth + roughness length'; return; end if
+    
+      ! compute the resistance between the surface and canopy air UNDER NEUTRAL CONDITIONS (s m-1)
+      groundExNeut = (vkc**2._rkind) / ( log((mHeight - snowDepth)/z0Ground)**2._rkind) ! turbulent transfer coefficient under conditions of neutral stability (-)
+      groundResistanceNeutral = 1._rkind / (groundExNeut*windspd)
+    
+      ! define height above the snow surface
+      heightAboveGround  = mHeight - snowDepth
+    
+      ! check that measurement height above the ground surface is above the roughness length
+      if(heightAboveGround < z0Ground)then
+       print*, 'z0Ground = ', z0Ground
+       print*, 'mHeight  = ', mHeight
+       print*, 'snowDepth = ', snowDepth
+       print*, 'heightAboveGround = ', heightAboveGround
+       message=trim(message)//'height above ground < roughness length [likely due to snow accumulation]'
+       err=20; return
+      end if
+    
+      ! compute ground stability correction
+      call aStability(&
+                       ! input
+                      derivDesired,                                     & ! input: logical flag to compute analytical derivatives
+                      ixStability,                                      & ! input: choice of stability function
+                      ! input: forcing data, diagnostic and state variables
+                      heightAboveGround,                                & ! input: measurement height above the ground surface (m)
+                      airtemp,                                          & ! input: temperature above the ground surface (K)
+                      groundTemp,                                       & ! input: trial value of surface temperature -- "surface" is either canopy or ground (K)
+                      windspd,                                          & ! input: wind speed above the ground surface (m s-1)
+                      ! input: stability parameters
+                      critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                      Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
+                      Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                      ! output
+                      RiBulkGround,                                     & ! output: bulk Richardson number (-)
+                      groundStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
+                      dGroundStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the ground surface (-)
+                      dGroundStabilityCorrection_dAirTemp,              & ! output: (not used) derivative in stability correction w.r.t. air temperature (K-1)
+                      dGroundStabilityCorrection_dSfcTemp,              & ! output: derivative in stability correction w.r.t. surface temperature (K-1)
+                      err, cmessage                                     ) ! output: error control
+      if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+    
+      ! compute the ground resistance (after stability corrections)
+      groundResistance = groundResistanceNeutral/groundStabilityCorrection
+      if(groundResistance < 0._rkind)then; err=20; message=trim(message)//'ground resistance < 0 [no vegetation]'; return; end if
+    
+      ! set all canopy variables to missing (no canopy!)
+      z0Canopy                   = missingValue   ! roughness length of the vegetation canopy (m)
+      RiBulkCanopy               = missingValue   ! bulk Richardson number for the canopy (-)
+      windReductionFactor        = missingValue   ! canopy wind reduction factor (-)
+      zeroPlaneDisplacement      = missingValue   ! zero plane displacement (m)
+      canopyStabilityCorrection  = missingValue   ! stability correction for the canopy (-)
+      eddyDiffusCanopyTop        = missingValue   ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+      frictionVelocity           = missingValue   ! friction velocity (m s-1)
+      windspdCanopyTop           = missingValue   ! windspeed at the top of the canopy (m s-1)
+      windspdCanopyBottom        = missingValue   ! windspeed at the height of the bottom of the canopy (m s-1)
+    
+     end if  ! (if no canopy)
+    
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! * compute derivatives
+     if(derivDesired)then  ! if analytical derivatives are desired
+    
+      ! derivatives for the vegetation canopy
+      if(computeVegFlux) then ! (if vegetation is exposed)
+    
+       ! ***** compute derivatives w.r.t. canopy temperature
+       ! NOTE: derivatives are zero because using canopy air space temperature
+       dCanopyResistance_dTCanopy = 0._rkind ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+       dGroundResistance_dTCanopy = 0._rkind ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+    
+       ! ***** compute derivatives w.r.t. ground temperature (s m-1 K-1)
+       dGroundResistance_dTGround = -(groundResistanceNeutral*dGroundStabilityCorrection_dSfcTemp)/(groundStabilityCorrection**2._rkind)
+    
+       ! ***** compute derivatives w.r.t. temperature of the canopy air space (s m-1 K-1)
+       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+       dCanopyResistance_dTCanair = -dCanopyStabilityCorrection_dCasTemp/(windspd*canopyExNeut*canopyStabilityCorrection**2._rkind)
+       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+       ! (compute derivative in NEUTRAL ground resistance w.r.t. canopy air temperature (s m-1 K-1))
+       dFV_dT = windspd*canopyExNeut*dCanopyStabilityCorrection_dCasTemp/(sqrt(sfc2AtmExchangeCoeff_canopy)*2._rkind)                         ! d(frictionVelocity)/d(canopy air temperature)
+       dED_dT = dFV_dT*vkc*(heightCanopyTopAboveSnow - zeroPlaneDisplacement)                                                              ! d(eddyDiffusCanopyTop)d(canopy air temperature)
+       dGR_dT = -dED_dT*(tmp1 - tmp2)*heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop**2._rkind) ! d(groundResistanceNeutral)/d(canopy air temperature)
+       ! (stitch everything together -- product rule)
+       dGroundResistance_dTCanair = dGR_dT/groundStabilityCorrection - groundResistanceNeutral*dGroundStabilityCorrection_dCasTemp/(groundStabilityCorrection**2._rkind)
+    
+      ! ***** compute resistances for non-vegetated surfaces (e.g., snow)
+      else
+    
+       ! set canopy derivatives to zero (non-vegetated, remember)
+       dCanopyResistance_dTCanopy = 0._rkind
+       dGroundResistance_dTCanopy = 0._rkind
+    
+       ! compute derivatives for ground resistance
+       dGroundResistance_dTGround = -dGroundStabilityCorrection_dSfcTemp/(windspd*groundExNeut*groundStabilityCorrection**2._rkind)
+    
+      end if  ! (switch between vegetated and non-vegetated surfaces)
+    
+     ! * analytical derivatives not desired
+     else
+      dGroundResistance_dTGround = missingValue
+      dGroundResistance_dTCanopy = missingValue
+      dCanopyResistance_dTCanopy = missingValue
+     end if
+    
+     ! test
+     !print*, 'dGroundResistance_dTGround = ', dGroundResistance_dTGround
+     !print*, 'dGroundResistance_dTCanopy = ', dGroundResistance_dTCanopy
+     !print*, 'dCanopyResistance_dTCanopy = ', dCanopyResistance_dTCanopy
+     !pause 'in aeroResist'
+    
+     end subroutine aeroResist
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine soilResist: compute soil moisture factor controlling stomatal resistance
+     ! *******************************************************************************************************
+     subroutine soilResist(&
+                           ! input (model decisions)
+                           ixSoilResist,             & ! intent(in): choice of function for the soil moisture control on stomatal resistance
+                           ixGroundwater,            & ! intent(in): choice of groundwater representation
+                           ! input (state variables)
+                           mLayerMatricHead,         & ! intent(in): matric head in each layer (m)
+                           mLayerVolFracLiq,         & ! intent(in): volumetric fraction of liquid water in each layer
+                           scalarAquiferStorage,     & ! intent(in): aquifer storage (m)
+                           ! input (diagnostic variables)
+                           mLayerRootDensity,        & ! intent(in): root density in each layer (-)
+                           scalarAquiferRootFrac,    & ! intent(in): fraction of roots below the lowest unsaturated layer (-)
+                           ! input (parameters)
+                           plantWiltPsi,             & ! intent(in): matric head at wilting point (m)
+                           soilStressParam,          & ! intent(in): parameter in the exponential soil stress function (-)
+                           critSoilWilting,          & ! intent(in): critical vol. liq. water content when plants are wilting (-)
+                           critSoilTranspire,        & ! intent(in): critical vol. liq. water content when transpiration is limited (-)
+                           critAquiferTranspire,     & ! intent(in): critical aquifer storage value when transpiration is limited (m)
+                           ! output
+                           wAvgTranspireLimitFac,    & ! intent(out): weighted average of the transpiration limiting factor (-)
+                           mLayerTranspireLimitFac,  & ! intent(out): transpiration limiting factor in each layer (-)
+                           aquiferTranspireLimitFac, & ! intent(out): transpiration limiting factor for the aquifer (-)
+                           err,message)                ! intent(out): error control
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     USE mDecisions_module, only: NoahType,CLM_Type,SiB_Type  ! options for the choice of function for the soil moisture control on stomatal resistance
+     USE mDecisions_module, only: bigBucket                   ! named variable that defines the "bigBucket" groundwater parameterization
+     implicit none
+     ! input (model decisions)
+     integer(i4b),intent(in)       :: ixSoilResist             ! choice of function for the soil moisture control on stomatal resistance
+     integer(i4b),intent(in)       :: ixGroundwater            ! choice of groundwater representation
+     ! input (variables)
+     real(rkind),intent(in)           :: mLayerMatricHead(:)      ! matric head in each layer (m)
+     real(rkind),intent(in)           :: mLayerVolFracLiq(:)      ! volumetric fraction of liquid water in each layer (-)
+     real(rkind),intent(in)           :: scalarAquiferStorage     ! aquifer storage (m)
+     ! input (diagnostic variables)
+     real(rkind),intent(in)           :: mLayerRootDensity(:)     ! root density in each layer (-)
+     real(rkind),intent(in)           :: scalarAquiferRootFrac    ! fraction of roots below the lowest unsaturated layer (-)
+     ! input (parameters)
+     real(rkind),intent(in)           :: plantWiltPsi             ! matric head at wilting point (m)
+     real(rkind),intent(in)           :: soilStressParam          ! parameter in the exponential soil stress function (-)
+     real(rkind),intent(in)           :: critSoilWilting          ! critical vol. liq. water content when plants are wilting (-)
+     real(rkind),intent(in)           :: critSoilTranspire        ! critical vol. liq. water content when transpiration is limited (-)
+     real(rkind),intent(in)           :: critAquiferTranspire     ! critical aquifer storage value when transpiration is limited (m)
+     ! output
+     real(rkind),intent(out)          :: wAvgTranspireLimitFac    ! intent(out): weighted average of the transpiration limiting factor (-)
+     real(rkind),intent(out)          :: mLayerTranspireLimitFac(:)  ! intent(out): transpiration limiting factor in each layer (-)
+     real(rkind),intent(out)          :: aquiferTranspireLimitFac ! intent(out): transpiration limiting factor for the aquifer (-)
+     integer(i4b),intent(out)      :: err                      ! error code
+     character(*),intent(out)      :: message                  ! error message
+     ! local variables
+     real(rkind)                      :: gx                       ! stress function for the soil layers
+     real(rkind),parameter            :: verySmall=epsilon(gx)    ! a very small number
+     integer(i4b)                  :: iLayer                   ! index of soil layer
+     ! initialize error control
+     err=0; message='soilResist/'
+    
+     ! ** compute the factor limiting transpiration for each soil layer (-)
+     wAvgTranspireLimitFac = 0._rkind  ! (initialize the weighted average)
+     do iLayer=1,size(mLayerMatricHead)
+      ! compute the soil stress function
+      select case(ixSoilResist)
+       case(NoahType)  ! thresholded linear function of volumetric liquid water content
+        gx = (mLayerVolFracLiq(iLayer) - critSoilWilting) / (critSoilTranspire - critSoilWilting)
+       case(CLM_Type)  ! thresholded linear function of matric head
+        if(mLayerMatricHead(iLayer) > plantWiltPsi)then
+         gx = 1._rkind - mLayerMatricHead(iLayer)/plantWiltPsi
+        else
+         gx = 0._rkind
+        end if
+       case(SiB_Type)  ! exponential of the log of matric head
+        if(mLayerMatricHead(iLayer) < 0._rkind)then  ! (unsaturated)
+         gx = 1._rkind - exp( -soilStressParam * ( log(plantWiltPsi/mLayerMatricHead(iLayer)) ) )
+        else ! (saturated)
+         gx = 1._rkind
+        end if
+       case default    ! check identified the option
+        err=20; message=trim(message)//'cannot identify option for soil resistance'; return
+      end select
+      ! save the factor for the given layer (ensure between zero and one)
+      mLayerTranspireLimitFac(iLayer) = min( max(verySmall,gx), 1._rkind)
+      ! compute the weighted average (weighted by root density)
+      wAvgTranspireLimitFac = wAvgTranspireLimitFac + mLayerTranspireLimitFac(iLayer)*mLayerRootDensity(iLayer)
+     end do ! (looping through soil layers)
+    
+     ! ** compute the factor limiting evaporation in the aquifer
+     if(scalarAquiferRootFrac > verySmall)then
+      ! check that aquifer root fraction is allowed
+      if(ixGroundwater /= bigBucket)then
+       message=trim(message)//'aquifer evaporation only allowed for the big groundwater bucket -- increase the soil depth to account for roots'
+       err=20; return
+      end if
+      ! compute the factor limiting evaporation for the aquifer
+      aquiferTranspireLimitFac = min(scalarAquiferStorage/critAquiferTranspire, 1._rkind)
+     else  ! (if there are roots in the aquifer)
+      aquiferTranspireLimitFac = 0._rkind
+     end if
+    
+     ! compute the weighted average (weighted by root density)
+     wAvgTranspireLimitFac = wAvgTranspireLimitFac + aquiferTranspireLimitFac*scalarAquiferRootFrac
+    
+     end subroutine soilResist
+    
+    
+     ! ********************************************************************************
+     ! private subroutine turbFluxes: compute turbulent heat fluxes
+     ! ********************************************************************************
+     subroutine turbFluxes(&
+                           ! input: model control
+                           computeVegFlux,                & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                           ixDerivMethod,                 & ! intent(in): choice of method used to compute derivative (analytical or numerical)
+                           ! input: above-canopy forcing data
+                           airtemp,                       & ! intent(in): air temperature at some height above the surface (K)
+                           airpres,                       & ! intent(in): air pressure of the air above the vegetation canopy (Pa)
+                           VPair,                         & ! intent(in): vapor pressure of the air above the vegetation canopy (Pa)
+                           ! input: latent heat of sublimation/vaporization
+                           latHeatSubVapCanopy,           & ! intent(in): latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+                           latHeatSubVapGround,           & ! intent(in): latent heat of sublimation/vaporization for the ground surface (J kg-1)
+                           ! input: canopy and ground temperature
+                           canairTemp,                    & ! intent(in): temperature of the canopy air space (K)
+                           canopyTemp,                    & ! intent(in): canopy temperature (K)
+                           groundTemp,                    & ! intent(in): ground temperature (K)
+                           satVP_CanopyTemp,              & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
+                           satVP_GroundTemp,              & ! intent(in): saturation vapor pressure at the temperature of the ground (Pa)
+                           dSVPCanopy_dCanopyTemp,        & ! intent(in): derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
+                           dSVPGround_dGroundTemp,        & ! intent(in): derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
+                           ! input: diagnostic variables
+                           exposedVAI,                    & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                           canopyWetFraction,             & ! intent(in): fraction of canopy that is wet [0-1]
+                           dCanopyWetFraction_dWat,       & ! intent(in): derivative in the canopy wetted fraction w.r.t. total water content (kg-1 m-2)
+                           dCanopyWetFraction_dT,         & ! intent(in): derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                           canopySunlitLAI,               & ! intent(in): sunlit leaf area (-)
+                           canopyShadedLAI,               & ! intent(in): shaded leaf area (-)
+                           soilRelHumidity,               & ! intent(in): relative humidity in the soil pores [0-1]
+                           soilResistance,                & ! intent(in): resistance from the soil (s m-1)
+                           leafResistance,                & ! intent(in): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                           groundResistance,              & ! intent(in): below canopy aerodynamic resistance (s m-1)
+                           canopyResistance,              & ! intent(in): above canopy aerodynamic resistance (s m-1)
+                           stomResistSunlit,              & ! intent(in): stomatal resistance for sunlit leaves (s m-1)
+                           stomResistShaded,              & ! intent(in): stomatal resistance for shaded leaves (s m-1)
+                           ! input: derivatives in scalar resistances
+                           dGroundResistance_dTGround,    & ! intent(in): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                           dGroundResistance_dTCanopy,    & ! intent(in): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                           dGroundResistance_dTCanair,    & ! intent(in): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                           dCanopyResistance_dTCanopy,    & ! intent(in): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                           dCanopyResistance_dTCanair,    & ! intent(in): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                           ! output: conductances (used to check derivative calculations)
+                           leafConductance,               & ! intent(out): leaf conductance (m s-1)
+                           canopyConductance,             & ! intent(out): canopy conductance (m s-1)
+                           groundConductanceSH,           & ! intent(out): ground conductance for sensible heat (m s-1)
+                           groundConductanceLH,           & ! intent(out): ground conductance for latent heat -- includes soil resistance (m s-1)
+                           evapConductance,               & ! intent(out): conductance for evaporation (m s-1)
+                           transConductance,              & ! intent(out): conductance for transpiration (m s-1)
+                           totalConductanceSH,            & ! intent(out): total conductance for sensible heat (m s-1)
+                           totalConductanceLH,            & ! intent(out): total conductance for latent heat (m s-1)
+                           ! output: canopy air space variables
+                           VP_CanopyAir,                  & ! intent(out): vapor pressure of the canopy air space (Pa)
+                           ! output: fluxes from the vegetation canopy
+                           senHeatCanopy,                 & ! intent(out): sensible heat flux from the canopy to the canopy air space (W m-2)
+                           latHeatCanopyEvap,             & ! intent(out): latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
+                           latHeatCanopyTrans,            & ! intent(out): latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
+                           ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
+                           senHeatGround,                 & ! intent(out): sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                           latHeatGround,                 & ! intent(out): latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                           ! output: total heat fluxes to the atmosphere
+                           senHeatTotal,                  & ! intent(out): total sensible heat flux to the atmosphere (W m-2)
+                           latHeatTotal,                  & ! intent(out): total latent heat flux to the atmosphere (W m-2)
+                           ! output: net fluxes
+                           turbFluxCanair,                & ! intent(out): net turbulent heat fluxes at the canopy air space (W m-2)
+                           turbFluxCanopy,                & ! intent(out): net turbulent heat fluxes at the canopy (W m-2)
+                           turbFluxGround,                & ! intent(out): net turbulent heat fluxes at the ground surface (W m-2)
+                           ! output: flux derivatives
+                           dTurbFluxCanair_dTCanair,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                           dTurbFluxCanair_dTCanopy,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+                           dTurbFluxCanair_dTGround,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+                           dTurbFluxCanopy_dTCanair,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                           dTurbFluxCanopy_dTCanopy,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                           dTurbFluxCanopy_dTGround,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                           dTurbFluxGround_dTCanair,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                           dTurbFluxGround_dTCanopy,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                           dTurbFluxGround_dTGround,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                           ! output: liquid flux derivatives (canopy evap)
+                           dLatHeatCanopyEvap_dCanWat,    & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy total water content (J kg-1 s-1)
+                           dLatHeatCanopyEvap_dTCanair,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+                           dLatHeatCanopyEvap_dTCanopy,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+                           dLatHeatCanopyEvap_dTGround,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+                           ! output: liquid flux derivatives (ground evap)
+                           dLatHeatGroundEvap_dCanWat,    & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy total water content (J kg-1 s-1)
+                           dLatHeatGroundEvap_dTCanair,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy air temperature
+                           dLatHeatGroundEvap_dTCanopy,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy temperature
+                           dLatHeatGroundEvap_dTGround,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. ground temperature
+                           ! output: latent heat flux derivatives (canopy trans)
+                           dLatHeatCanopyTrans_dCanWat,   & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. canopy total water (J kg-1 s-1)
+                           dLatHeatCanopyTrans_dTCanair,  & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. canopy air temperature
+                           dLatHeatCanopyTrans_dTCanopy,  & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. canopy temperature
+                           dLatHeatCanopyTrans_dTGround,  & ! intent(out): derivative in the latent heat of canopy transpiration w.r.t. ground temperature
+                           ! output: cross derivatives
+                           dTurbFluxCanair_dCanWat,       & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                           dTurbFluxCanopy_dCanWat,       & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                           dTurbFluxGround_dCanWat,       & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+                           ! output: error control
+                           err,message                    ) ! intent(out): error control
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     implicit none
+     ! input: model control
+     logical(lgt),intent(in)       :: computeVegFlux        ! logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+     integer(i4b),intent(in)       :: ixDerivMethod         ! choice of method used to compute derivative (analytical or numerical)
+     ! input: above-canopy forcing data
+     real(rkind),intent(in)           :: airtemp               ! air temperature at some height above the surface (K)
+     real(rkind),intent(in)           :: airpres               ! air pressure of the air above the vegetation canopy (Pa)
+     real(rkind),intent(in)           :: VPair                 ! vapor pressure of the air above the vegetation canopy (Pa)
+     ! input: latent heat of sublimation/vaporization
+     real(rkind),intent(in)           :: latHeatSubVapCanopy   ! latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+     real(rkind),intent(in)           :: latHeatSubVapGround   ! latent heat of sublimation/vaporization for the ground surface (J kg-1)
+     ! input: canopy and ground temperature
+     real(rkind),intent(in)           :: canairTemp            ! temperature of the canopy air space (K)
+     real(rkind),intent(in)           :: canopyTemp            ! canopy temperature (K)
+     real(rkind),intent(in)           :: groundTemp            ! ground temperature (K)
+     real(rkind),intent(in)           :: satVP_CanopyTemp      ! saturation vapor pressure at the temperature of the veg canopy (Pa)
+     real(rkind),intent(in)           :: satVP_GroundTemp      ! saturation vapor pressure at the temperature of the ground (Pa)
+     real(rkind),intent(in)           :: dSVPCanopy_dCanopyTemp  ! derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
+     real(rkind),intent(in)           :: dSVPGround_dGroundTemp  ! derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
+     ! input: diagnostic variables
+     real(rkind),intent(in)           :: exposedVAI            ! exposed vegetation area index -- leaf plus stem (m2 m-2)
+     real(rkind),intent(in)           :: canopyWetFraction     ! fraction of canopy that is wet [0-1]
+     real(rkind),intent(in)           :: dCanopyWetFraction_dWat ! derivative in the canopy wetted fraction w.r.t. liquid water content (kg-1 m-2)
+     real(rkind),intent(in)           :: dCanopyWetFraction_dT   ! derivative in the canopy wetted fraction w.r.t. canopy temperature (K-1)
+     real(rkind),intent(in)           :: canopySunlitLAI       ! sunlit leaf area (-)
+     real(rkind),intent(in)           :: canopyShadedLAI       ! shaded leaf area (-)
+     real(rkind),intent(in)           :: soilRelHumidity       ! relative humidity in the soil pores [0-1]
+     real(rkind),intent(in)           :: soilResistance        ! resistance from the soil (s m-1)
+     real(rkind),intent(in)           :: leafResistance        ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+     real(rkind),intent(in)           :: groundResistance      ! below canopy aerodynamic resistance (s m-1)
+     real(rkind),intent(in)           :: canopyResistance      ! above canopy aerodynamic resistance (s m-1)
+     real(rkind),intent(in)           :: stomResistSunlit      ! stomatal resistance for sunlit leaves (s m-1)
+     real(rkind),intent(in)           :: stomResistShaded      ! stomatal resistance for shaded leaves (s m-1)
+     ! input: derivatives in scalar resistances
+     real(rkind),intent(in)            :: dGroundResistance_dTGround       ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+     real(rkind),intent(in)            :: dGroundResistance_dTCanopy       ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind),intent(in)            :: dGroundResistance_dTCanair       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+     real(rkind),intent(in)            :: dCanopyResistance_dTCanopy       ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+     real(rkind),intent(in)            :: dCanopyResistance_dTCanair       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+     ! ---------------------------------------------------------------------------------------------------------------------------------------------------------------
+     ! output: conductances -- used to test derivatives
+     real(rkind),intent(out)          :: leafConductance              ! leaf conductance (m s-1)
+     real(rkind),intent(out)          :: canopyConductance            ! canopy conductance (m s-1)
+     real(rkind),intent(out)          :: groundConductanceSH          ! ground conductance for sensible heat (m s-1)
+     real(rkind),intent(out)          :: groundConductanceLH          ! ground conductance for latent heat -- includes soil resistance (m s-1)
+     real(rkind),intent(out)          :: evapConductance              ! conductance for evaporation (m s-1)
+     real(rkind),intent(out)          :: transConductance             ! conductance for transpiration (m s-1)
+     real(rkind),intent(out)          :: totalConductanceSH           ! total conductance for sensible heat (m s-1)
+     real(rkind),intent(out)          :: totalConductanceLH           ! total conductance for latent heat (m s-1)
+     ! output: canopy air space variables
+     real(rkind),intent(out)          :: VP_CanopyAir                 ! vapor pressure of the canopy air space (Pa)
+     ! output: fluxes from the vegetation canopy
+     real(rkind),intent(out)          :: senHeatCanopy                ! sensible heat flux from the canopy to the canopy air space (W m-2)
+     real(rkind),intent(out)          :: latHeatCanopyEvap            ! latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
+     real(rkind),intent(out)          :: latHeatCanopyTrans           ! latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
+     ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
+     real(rkind),intent(out)          :: senHeatGround                ! sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+     real(rkind),intent(out)          :: latHeatGround                ! latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+     ! output: total heat fluxes to the atmosphere
+     real(rkind),intent(out)          :: senHeatTotal                 ! total sensible heat flux to the atmosphere (W m-2)
+     real(rkind),intent(out)          :: latHeatTotal                 ! total latent heat flux to the atmosphere (W m-2)
+     ! output: net fluxes
+     real(rkind),intent(out)          :: turbFluxCanair               ! net turbulent heat fluxes at the canopy air space (W m-2)
+     real(rkind),intent(out)          :: turbFluxCanopy               ! net turbulent heat fluxes at the canopy (W m-2)
+     real(rkind),intent(out)          :: turbFluxGround               ! net turbulent heat fluxes at the ground surface (W m-2)
+     ! output: energy flux derivatives
+     real(rkind),intent(out)          :: dTurbFluxCanair_dTCanair     ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxCanair_dTCanopy     ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxCanair_dTGround     ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxCanopy_dTCanair     ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxCanopy_dTCanopy     ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxCanopy_dTGround     ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxGround_dTCanair     ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxGround_dTCanopy     ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dTurbFluxGround_dTGround     ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+     ! output: liquid flux derivatives (canopy evap)
+     real(rkind),intent(out)          :: dLatHeatCanopyEvap_dCanWat   ! derivative in latent heat of canopy evaporation w.r.t. canopy total water content (W kg-1)
+     real(rkind),intent(out)          :: dLatHeatCanopyEvap_dTCanair  ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLatHeatCanopyEvap_dTCanopy  ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLatHeatCanopyEvap_dTGround  ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+     ! output: liquid flux derivatives (ground evap)
+     real(rkind),intent(out)          :: dLatHeatGroundEvap_dCanWat   ! derivative in latent heat of ground evaporation w.r.t. canopy total water content (J kg-1 s-1)
+     real(rkind),intent(out)          :: dLatHeatGroundEvap_dTCanair  ! derivative in latent heat of ground evaporation w.r.t. canopy air temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLatHeatGroundEvap_dTCanopy  ! derivative in latent heat of ground evaporation w.r.t. canopy temperature (W m-2 K-1)
+     real(rkind),intent(out)          :: dLatHeatGroundEvap_dTGround  ! derivative in latent heat of ground evaporation w.r.t. ground temperature (W m-2 K-1)
+     ! output: latent heat flux derivatives (canopy trans)
+     real(rkind)                      :: dLatHeatCanopyTrans_dCanWat  ! derivative in the latent heat of canopy transpiration w.r.t. canopy total water (J kg-1 s-1)
+     real(rkind)                      :: dLatHeatCanopyTrans_dTCanair ! derivative in the latent heat of canopy transpiration w.r.t. canopy air temperature
+     real(rkind)                      :: dLatHeatCanopyTrans_dTCanopy ! derivative in the latent heat of canopy transpiration w.r.t. canopy temperature
+     real(rkind)                      :: dLatHeatCanopyTrans_dTGround ! derivative in the latent heat of canopy transpiration flux w.r.t. ground temperature
+     ! output: cross derivatives
+     real(rkind),intent(out)          :: dTurbFluxCanair_dCanWat      ! derivative in net canopy air space fluxes w.r.t. canopy total water content (J kg-1 s-1)
+     real(rkind),intent(out)          :: dTurbFluxCanopy_dCanWat      ! derivative in net canopy turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+     real(rkind),intent(out)          :: dTurbFluxGround_dCanWat      ! derivative in net ground turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+     ! output: error control
+     integer(i4b),intent(out)      :: err                          ! error code
+     character(*),intent(out)      :: message                      ! error message
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! local variables -- general
+     real(rkind)                      :: fpart1,fpart2         ! different parts of a function
+     real(rkind)                      :: dPart0,dpart1,dpart2         ! derivatives for different parts of a function
+     ! local variables -- "constants"
+     real(rkind)                      :: volHeatCapacityAir           ! volumetric heat capacity of air (J m-3)
+     real(rkind)                      :: latentHeatConstant           ! latent heat constant (kg m-3 K-1)
+     ! local variables -- derivatives for energy conductances
+     real(rkind)                      :: dEvapCond_dCanopyTemp        ! derivative in evap conductance w.r.t. canopy temperature
+     real(rkind)                      :: dTransCond_dCanopyTemp       ! derivative in trans conductance w.r.t. canopy temperature
+     real(rkind)                      :: dCanopyCond_dCanairTemp      ! derivative in canopy conductance w.r.t. canopy air temperature
+     real(rkind)                      :: dCanopyCond_dCanopyTemp      ! derivative in canopy conductance w.r.t. canopy temperature
+     real(rkind)                      :: dGroundCondSH_dCanairTemp    ! derivative in ground conductance of sensible heat w.r.t. canopy air temperature
+     real(rkind)                      :: dGroundCondSH_dCanopyTemp    ! derivative in ground conductance of sensible heat w.r.t. canopy temperature
+     real(rkind)                      :: dGroundCondSH_dGroundTemp    ! derivative in ground conductance of sensible heat w.r.t. ground temperature
+     ! local variables -- derivatives for mass conductances
+     real(rkind)                      :: dGroundCondLH_dCanairTemp    ! derivative in ground conductance w.r.t. canopy air temperature
+     real(rkind)                      :: dGroundCondLH_dCanopyTemp    ! derivative in ground conductance w.r.t. canopy temperature
+     real(rkind)                      :: dGroundCondLH_dGroundTemp    ! derivative in ground conductance w.r.t. ground temperature
+     ! local variables -- derivatives for the canopy air space variables
+     real(rkind)                      :: fPart_VP                     ! part of the function for vapor pressure of the canopy air space
+     real(rkind)                      :: leafConductanceTr            ! leaf conductance for transpiration (m s-1)
+     real(rkind)                      :: dVPCanopyAir_dTCanair        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the canopy air space
+     real(rkind)                      :: dVPCanopyAir_dTCanopy        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the canopy
+     real(rkind)                      :: dVPCanopyAir_dTGround        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the ground
+     real(rkind)                      :: dVPCanopyAir_dWetFrac        ! derivative of vapor pressure in the canopy air space w.r.t. wetted fraction of the canopy
+     real(rkind)                      :: dVPCanopyAir_dCanWat         ! derivative of vapor pressure in the canopy air space w.r.t. canopy total water content
+     ! local variables -- sensible heat flux derivatives
+     real(rkind)                      :: dSenHeatTotal_dTCanair       ! derivative in the total sensible heat flux w.r.t. canopy air temperature
+     real(rkind)                      :: dSenHeatTotal_dTCanopy       ! derivative in the total sensible heat flux w.r.t. canopy air temperature
+     real(rkind)                      :: dSenHeatTotal_dTGround       ! derivative in the total sensible heat flux w.r.t. ground temperature
+     real(rkind)                      :: dSenHeatCanopy_dTCanair      ! derivative in the canopy sensible heat flux w.r.t. canopy air temperature
+     real(rkind)                      :: dSenHeatCanopy_dTCanopy      ! derivative in the canopy sensible heat flux w.r.t. canopy temperature
+     real(rkind)                      :: dSenHeatCanopy_dTGround      ! derivative in the canopy sensible heat flux w.r.t. ground temperature
+     real(rkind)                      :: dSenHeatGround_dTCanair      ! derivative in the ground sensible heat flux w.r.t. canopy air temperature
+     real(rkind)                      :: dSenHeatGround_dTCanopy      ! derivative in the ground sensible heat flux w.r.t. canopy temperature
+     real(rkind)                      :: dSenHeatGround_dTGround      ! derivative in the ground sensible heat flux w.r.t. ground temperature
+     ! local variables -- wetted fraction derivatives
+     real(rkind)                      :: dLatHeatCanopyEvap_dWetFrac  ! derivative in the latent heat of canopy evaporation w.r.t. canopy wet fraction (W m-2)
+     real(rkind)                      :: dLatHeatCanopyTrans_dWetFrac ! derivative in the latent heat of canopy transpiration w.r.t. canopy wet fraction (W m-2)
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! initialize error control
+     err=0; message='turbFluxes/'
+    
+     ! compute constants
+     volHeatCapacityAir = iden_air*cp_air           ! volumetric heat capacity of air (J m-3)
+     latentHeatConstant = iden_air*w_ratio/airpres  ! latent heat constant for (kg m-3 Pa-1)
+    
+     ! *****
+     ! * compute conductances, and derivatives...
+     ! ******************************************
+    
+     ! compute conductances for sensible heat (m s-1)
+     if(computeVegFlux)then
+      leafConductance    = exposedVAI/leafResistance
+      leafConductanceTr  = canopySunlitLAI/(leafResistance+stomResistSunlit) + canopyShadedLAI/(leafResistance+stomResistShaded)
+      canopyConductance  = 1._rkind/canopyResistance
+     else
+      leafConductance    = 0._rkind
+      canopyConductance  = 0._rkind
+     end if
+     groundConductanceSH = 1._rkind/groundResistance
+    
+     ! compute total conductance for sensible heat
+     totalConductanceSH  = leafConductance + groundConductanceSH + canopyConductance
+    
+     ! compute conductances for latent heat (m s-1)
+     if(computeVegFlux)then
+      evapConductance    = canopyWetFraction*leafConductance
+      transConductance   = (1._rkind - canopyWetFraction) * leafConductanceTr
+      !write(*,'(a,10(f14.8,1x))') 'canopySunlitLAI, canopyShadedLAI, stomResistSunlit, stomResistShaded, leafResistance, canopyWetFraction = ', &
+      !                             canopySunlitLAI, canopyShadedLAI, stomResistSunlit, stomResistShaded, leafResistance, canopyWetFraction
+     else
+      evapConductance    = 0._rkind
+      transConductance   = 0._rkind
+     end if
+     groundConductanceLH = 1._rkind/(groundResistance + soilResistance)  ! NOTE: soilResistance accounts for fractional snow, and =0 when snow cover is 100%
+     totalConductanceLH  = evapConductance + transConductance + groundConductanceLH + canopyConductance
+    
+     ! check sensible heat conductance
+     if(totalConductanceSH < -tinyVal .or. groundConductanceSH < -tinyVal .or. canopyConductance < -tinyVal)then
+      message=trim(message)//'negative conductance for sensible heat'
+      err=20; return
+     endif
+    
+     ! check latent heat conductance
+     if(totalConductanceLH < tinyVal .or. groundConductanceLH < -tinyVal)then
+      message=trim(message)//'negative conductance for latent heat'
+      err=20; return
+     endif
+    
+     ! * compute derivatives
+     ! NOTE: it may be more efficient to compute these derivatives when computing resistances
+     if(ixDerivMethod == analytical)then
+    
+      ! compute derivatives in individual conductances for sensible heat w.r.t. canopy temperature (m s-1 K-1)
+      if(computeVegFlux)then
+       dEvapCond_dCanopyTemp     = dCanopyWetFraction_dT*leafConductance                       ! derivative in evap conductance w.r.t. canopy temperature
+       dTransCond_dCanopyTemp    = -dCanopyWetFraction_dT*leafConductanceTr                    ! derivative in trans conductance w.r.t. canopy temperature
+       dCanopyCond_dCanairTemp   = -dCanopyResistance_dTCanair/canopyResistance**2._rkind         ! derivative in canopy conductance w.r.t. canopy air emperature
+       dCanopyCond_dCanopyTemp   = -dCanopyResistance_dTCanopy/canopyResistance**2._rkind         ! derivative in canopy conductance w.r.t. canopy temperature
+       dGroundCondSH_dCanairTemp = -dGroundResistance_dTCanair/groundResistance**2._rkind         ! derivative in ground conductance w.r.t. canopy air temperature
+       dGroundCondSH_dCanopyTemp = -dGroundResistance_dTCanopy/groundResistance**2._rkind         ! derivative in ground conductance w.r.t. canopy temperature
+       dGroundCondSH_dGroundTemp = -dGroundResistance_dTGround/groundResistance**2._rkind         ! derivative in ground conductance w.r.t. ground temperature
+      else
+       dEvapCond_dCanopyTemp     = 0._rkind  ! derivative in evap conductance w.r.t. canopy temperature
+       dTransCond_dCanopyTemp    = 0._rkind  ! derivative in trans conductance w.r.t. canopy temperature
+       dCanopyCond_dCanairTemp   = 0._rkind  ! derivative in canopy conductance w.r.t. canopy air emperature
+       dCanopyCond_dCanopyTemp   = 0._rkind  ! derivative in canopy conductance w.r.t. canopy temperature
+       dGroundCondSH_dCanairTemp = 0._rkind  ! derivative in ground conductance w.r.t. canopy air temperature
+       dGroundCondSH_dCanopyTemp = 0._rkind  ! derivative in ground conductance w.r.t. canopy temperature
+       dGroundCondSH_dGroundTemp = -dGroundResistance_dTGround/groundResistance**2._rkind         ! derivative in ground conductance w.r.t. ground temperature
+      end if
+    
+      ! compute derivatives in individual conductances for latent heat w.r.t. canopy temperature (m s-1 K-1)
+      if(computeVegFlux)then
+       dGroundCondLH_dCanairTemp = -dGroundResistance_dTCanair/(groundResistance+soilResistance)**2._rkind ! derivative in ground conductance w.r.t. canopy air temperature
+       dGroundCondLH_dCanopyTemp = -dGroundResistance_dTCanopy/(groundResistance+soilResistance)**2._rkind ! derivative in ground conductance w.r.t. canopy temperature
+       dGroundCondLH_dGroundTemp = -dGroundResistance_dTGround/(groundResistance+soilResistance)**2._rkind ! derivative in ground conductance w.r.t. ground temperature
+      else
+       dGroundCondLH_dCanairTemp = 0._rkind  ! derivative in ground conductance w.r.t. canopy air temperature
+       dGroundCondLH_dCanopyTemp = 0._rkind  ! derivative in ground conductance w.r.t. canopy temperature
+       dGroundCondLH_dGroundTemp = -dGroundResistance_dTGround/(groundResistance+soilResistance)**2._rkind ! derivative in ground conductance w.r.t. ground temperature
+      end if
+    
+     end if ! (if computing analytical derivatives)
+    
+     ! *****
+     ! * compute sensible and latent heat fluxes, and derivatives...
+     ! *************************************************************
+    
+     ! * compute sensible and latent heat fluxes from the canopy to the canopy air space (W m-2)
+     if(computeVegFlux)then
+    
+      ! compute the vapor pressure in the canopy air space (Pa)
+      fPart_VP     = canopyConductance*VPair + (evapConductance + transConductance)*satVP_CanopyTemp + groundConductanceLH*satVP_GroundTemp*soilRelHumidity
+      VP_CanopyAir = fPart_VP/totalConductanceLH
+      !write(*,'(a,10(f20.10,1x))') 'canopyConductance, evapConductance, transConductance, groundConductanceLH, soilRelHumidity = ', &
+      !                              canopyConductance, evapConductance, transConductance, groundConductanceLH, soilRelHumidity
+    
+      ! compute sensible heat flux from the canopy air space to the atmosphere
+      ! NOTE: canairTemp is a state variable
+      senHeatTotal = -volHeatCapacityAir*canopyConductance*(canairTemp - airtemp)
+      !print*, 'canairTemp, airtemp, senHeatTotal = ', canairTemp, airtemp, senHeatTotal
+    
+      ! compute fluxes
+      senHeatCanopy      = -volHeatCapacityAir*leafConductance*(canopyTemp - canairTemp)        ! (positive downwards)
+      latHeatCanopyEvap  = -latHeatSubVapCanopy*latentHeatConstant*evapConductance*(satVP_CanopyTemp - VP_CanopyAir)    ! (positive downwards)
+      latHeatCanopyTrans =              -LH_vap*latentHeatConstant*transConductance*(satVP_CanopyTemp - VP_CanopyAir)   ! (positive downwards)
+      !write(*,'(a,10(f25.15,1x))') 'latHeatCanopyEvap, VP_CanopyAir = ', latHeatCanopyEvap, VP_CanopyAir
+      !write(*,'(a,10(f25.15,1x))') 'latHeatCanopyTrans, VP_CanopyAir = ', latHeatCanopyTrans, VP_CanopyAir
+      !write(*,'(a,10(f25.15,1x))') 'transConductance = ', transConductance
+    
+      ! check that energy for canopy evaporation does not exhaust the available water
+      ! NOTE: do this here, rather than enforcing solution constraints, because energy and mass solutions may be uncoupled
+      !if(latHeatSubVapCanopy > LH_vap+verySmall)then ! (sublimation)
+      ! maxFlux = -canopyIce*LH_sub/dt       ! W m-2
+      !else ! (evaporation)
+      ! maxFlux = -canopyLiquid*LH_vap/dt    ! W m-2
+      !end if
+      ! NOTE: fluxes are positive downwards
+      !if(latHeatCanopyEvap < maxFlux) latHeatCanopyEvap = maxFlux
+      !write(*,'(a,10(f20.10,1x))') 'maxFlux, latHeatCanopyEvap = ', maxFlux, latHeatCanopyEvap
+    
+     ! * no vegetation, so fluxes are zero
+     else
+      senHeatCanopy      = 0._rkind
+      latHeatCanopyEvap  = 0._rkind
+      latHeatCanopyTrans = 0._rkind
+     end if
+    
+     ! compute sensible and latent heat fluxes from the ground to the canopy air space (W m-2)
+     if(computeVegFlux)then
+      senHeatGround      = -volHeatCapacityAir*groundConductanceSH*(groundTemp - canairTemp)                                          ! (positive downwards)
+      latHeatGround      = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH*(satVP_GroundTemp*soilRelHumidity - VP_CanopyAir)  ! (positive downwards)
+     else
+      senHeatGround      = -volHeatCapacityAir*groundConductanceSH*(groundTemp - airtemp)                                                 ! (positive downwards)
+      latHeatGround      = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH*(satVP_GroundTemp*soilRelHumidity - VPair)         ! (positive downwards)
+      senHeatTotal       = senHeatGround
+     end if
+     !write(*,'(a,10(f25.15,1x))') 'latHeatGround = ', latHeatGround
+    
+     ! compute latent heat flux from the canopy air space to the atmosphere
+     ! NOTE: VP_CanopyAir is a diagnostic variable
+     latHeatTotal = latHeatCanopyEvap + latHeatCanopyTrans + latHeatGround
+    
+     ! * compute derivatives
+     if(ixDerivMethod == analytical)then
+    
+      ! differentiate CANOPY fluxes
+      if(computeVegFlux)then
+    
+       ! compute derivatives of vapor pressure in the canopy air space w.r.t. all state variables
+       ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the canopy air space)
+       dPart1 = dCanopyCond_dCanairTemp*VPair + dGroundCondLH_dCanairTemp*satVP_GroundTemp*soilRelHumidity
+       dPart2 = -(dCanopyCond_dCanairTemp + dGroundCondLH_dCanairTemp)/(totalConductanceLH**2._rkind)
+       dVPCanopyAir_dTCanair = dPart1/totalConductanceLH + fPart_VP*dPart2
+       ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the canopy)
+       dPart0 = (evapConductance + transConductance)*dSVPCanopy_dCanopyTemp + (dEvapCond_dCanopyTemp + dTransCond_dCanopyTemp)*satVP_CanopyTemp
+       dPart1 = dCanopyCond_dCanopyTemp*VPair + dPart0 + dGroundCondLH_dCanopyTemp*satVP_GroundTemp*soilRelHumidity
+       dPart2 = -(dCanopyCond_dCanopyTemp + dEvapCond_dCanopyTemp + dTransCond_dCanopyTemp + dGroundCondLH_dCanopyTemp)/(totalConductanceLH**2._rkind)
+       dVPCanopyAir_dTCanopy = dPart1/totalConductanceLH + fPart_VP*dPart2
+       ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the ground)
+       dPart1 = dGroundCondLH_dGroundTemp*satVP_GroundTemp*soilRelHumidity + groundConductanceLH*dSVPGround_dGroundTemp*soilRelHumidity
+       dPart2 = -dGroundCondLH_dGroundTemp/(totalConductanceLH**2._rkind)
+       dVPCanopyAir_dTGround = dPart1/totalConductanceLH + fPart_VP*dPart2
+       ! (derivative of vapor pressure in the canopy air space w.r.t. wetted fraction of the canopy)
+       dPart1 = (leafConductance - leafConductanceTr)*satVP_CanopyTemp
+       dPart2 = -(leafConductance - leafConductanceTr)/(totalConductanceLH**2._rkind)
+       dVPCanopyAir_dWetFrac = dPart1/totalConductanceLH + fPart_VP*dPart2
+       dVPCanopyAir_dCanWat  = dVPCanopyAir_dWetFrac*dCanopyWetFraction_dWat
+       !write(*,'(a,5(f20.8,1x))') 'dVPCanopyAir_dTCanair, dVPCanopyAir_dTCanopy, dVPCanopyAir_dTGround, dVPCanopyAir_dWetFrac, dVPCanopyAir_dCanWat = ', &
+       !                            dVPCanopyAir_dTCanair, dVPCanopyAir_dTCanopy, dVPCanopyAir_dTGround, dVPCanopyAir_dWetFrac, dVPCanopyAir_dCanWat
+    
+       ! sensible heat from the canopy to the atmosphere
+       dSenHeatTotal_dTCanair       = -volHeatCapacityAir*canopyConductance - volHeatCapacityAir*dCanopyCond_dCanairTemp*(canairTemp - airtemp)
+       dSenHeatTotal_dTCanopy       = -volHeatCapacityAir*dCanopyCond_dCanopyTemp*(canairTemp - airtemp)
+       dSenHeatTotal_dTGround       = 0._rkind
+       !write(*,'(a,3(f20.8,1x))') 'dSenHeatTotal_dTCanair, dSenHeatTotal_dTCanopy, dSenHeatTotal_dTGround                   = ', &
+       !                            dSenHeatTotal_dTCanair, dSenHeatTotal_dTCanopy, dSenHeatTotal_dTGround
+    
+       ! sensible heat from the canopy to the canopy air space
+       dSenHeatCanopy_dTCanair      =  volHeatCapacityAir*leafConductance
+       dSenHeatCanopy_dTCanopy      = -volHeatCapacityAir*leafConductance
+       dSenHeatCanopy_dTGround      = 0._rkind
+       !write(*,'(a,3(f20.8,1x))') 'dSenHeatCanopy_dTCanair, dSenHeatCanopy_dTCanopy, dSenHeatCanopy_dTGround                = ', &
+       !                            dSenHeatCanopy_dTCanair, dSenHeatCanopy_dTCanopy, dSenHeatCanopy_dTGround
+    
+       ! sensible heat from the ground to the canopy air space
+       dSenHeatGround_dTCanair      = -volHeatCapacityAir*dGroundCondSH_dCanairTemp*(groundTemp - canairTemp) + volHeatCapacityAir*groundConductanceSH
+       dSenHeatGround_dTCanopy      = -volHeatCapacityAir*dGroundCondSH_dCanopyTemp*(groundTemp - canairTemp)
+       dSenHeatGround_dTGround      = -volHeatCapacityAir*dGroundCondSH_dGroundTemp*(groundTemp - canairTemp) - volHeatCapacityAir*groundConductanceSH
+       !write(*,'(a,3(f20.8,1x))') 'dSenHeatGround_dTCanair, dSenHeatGround_dTCanopy, dSenHeatGround_dTGround                = ', &
+       !                            dSenHeatGround_dTCanair, dSenHeatGround_dTCanopy, dSenHeatGround_dTGround
+    
+       ! latent heat associated with canopy evaporation
+       ! (initial calculations)
+       fPart1 = -latHeatSubVapCanopy*latentHeatConstant*evapConductance
+       dPart1 = -latHeatSubVapCanopy*latentHeatConstant*dEvapCond_dCanopyTemp
+       fPart2 = satVP_CanopyTemp - VP_CanopyAir
+       dPart2 = dSVPCanopy_dCanopyTemp - dVPCanopyAir_dTCanopy
+       ! (derivatives)
+       dLatHeatCanopyEvap_dTCanair  = fPart1*(-dVPCanopyAir_dTCanair)
+       dLatHeatCanopyEvap_dTCanopy  = fPart1*dpart2 + fPart2*dPart1
+       dLatHeatCanopyEvap_dTGround  = fPart1*(-dVPCanopyAir_dTGround)
+       !write(*,'(a,3(f20.8,1x))') 'dLatHeatCanopyEvap_dTCanair, dLatHeatCanopyEvap_dTCanopy, dLatHeatCanopyEvap_dTGround    = ', &
+       !                            dLatHeatCanopyEvap_dTCanair, dLatHeatCanopyEvap_dTCanopy, dLatHeatCanopyEvap_dTGround
+    
+       ! latent heat associated with canopy transpiration
+       ! (initial calculations)
+       fPart1 = -LH_vap*latentHeatConstant*transConductance
+       dPart1 = -LH_vap*latentHeatConstant*dTransCond_dCanopyTemp
+       ! (derivatives)
+       dLatHeatCanopyTrans_dTCanair = fPart1*(-dVPCanopyAir_dTCanair)
+       dLatHeatCanopyTrans_dTCanopy = fPart1*dPart2 + fPart2*dPart1
+       dLatHeatCanopyTrans_dTGround = fPart1*(-dVPCanopyAir_dTGround)
+       !write(*,'(a,3(f20.8,1x))') 'dLatHeatCanopyTrans_dTCanair, dLatHeatCanopyTrans_dTCanopy, dLatHeatCanopyTrans_dTGround = ', &
+       !                            dLatHeatCanopyTrans_dTCanair, dLatHeatCanopyTrans_dTCanopy, dLatHeatCanopyTrans_dTGround
+    
+       ! latent heat flux from the ground
+       fPart1 = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH       ! function of the first part
+       fPart2 = (satVP_GroundTemp*soilRelHumidity - VP_CanopyAir)                 ! function of the second part
+       dLatHeatGroundEvap_dTCanair = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dCanairTemp*fPart2 - dVPCanopyAir_dTCanair*fPart1
+       dLatHeatGroundEvap_dTCanopy = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dCanopyTemp*fPart2 - dVPCanopyAir_dTCanopy*fPart1
+       dLatHeatGroundEvap_dTGround = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dGroundTemp*fPart2 + (dSVPGround_dGroundTemp*soilRelHumidity - dVPCanopyAir_dTGround)*fPart1
+       !write(*,'(a,3(f20.8,1x))') 'dLatHeatGroundEvap_dTCanair, dLatHeatGroundEvap_dTCanopy, dLatHeatGroundEvap_dTGround                = ', &
+       !                            dLatHeatGroundEvap_dTCanair, dLatHeatGroundEvap_dTCanopy, dLatHeatGroundEvap_dTGround
+    
+       ! latent heat associated with canopy evaporation w.r.t. wetted fraction of the canopy
+       dPart1 = -latHeatSubVapCanopy*latentHeatConstant*leafConductance
+       fPart1 = dPart1*canopyWetFraction
+       dLatHeatCanopyEvap_dWetFrac  = dPart1*(satVP_CanopyTemp - VP_CanopyAir) + fPart1*(-dVPCanopyAir_dWetFrac)
+    
+       ! latent heat associated with canopy transpiration w.r.t. wetted fraction of the canopy
+       dPart1 = LH_vap*latentHeatConstant*leafConductanceTr  ! NOTE: positive, since (1 - wetFrac)
+       fPart1 = -dPart1*(1._rkind - canopyWetFraction)
+       dLatHeatCanopyTrans_dWetFrac = dPart1*(satVP_CanopyTemp - VP_CanopyAir) + fPart1*(-dVPCanopyAir_dWetFrac)
+       !print*, 'dLatHeatCanopyTrans_dWetFrac = ', dLatHeatCanopyTrans_dWetFrac
+    
+       ! latent heat associated with canopy transpiration w.r.t. canopy total water
+       dLatHeatCanopyTrans_dCanWat = dLatHeatCanopyTrans_dWetFrac*dCanopyWetFraction_dWat ! (J s-1 kg-1)
+       !print*, 'dLatHeatCanopyTrans_dCanWat = ', dLatHeatCanopyTrans_dCanWat
+    
+      else  ! canopy is undefined
+    
+       ! set derivatives for canopy fluxes to zero (no canopy, so fluxes are undefined)
+       dSenHeatTotal_dTCanair       = 0._rkind
+       dSenHeatTotal_dTCanopy       = 0._rkind
+       dSenHeatTotal_dTGround       = 0._rkind
+       dSenHeatCanopy_dTCanair      = 0._rkind
+       dSenHeatCanopy_dTCanopy      = 0._rkind
+       dSenHeatCanopy_dTGround      = 0._rkind
+       dLatHeatCanopyEvap_dTCanair  = 0._rkind
+       dLatHeatCanopyEvap_dTCanopy  = 0._rkind
+       dLatHeatCanopyEvap_dTGround  = 0._rkind
+       dLatHeatCanopyTrans_dTCanair = 0._rkind
+       dLatHeatCanopyTrans_dTCanopy = 0._rkind
+       dLatHeatCanopyTrans_dTGround = 0._rkind
+    
+       ! set derivatives for wetted area and canopy transpiration to zero (no canopy, so fluxes are undefined)
+       dLatHeatCanopyEvap_dWetFrac  = 0._rkind
+       dLatHeatCanopyEvap_dCanWat   = 0._rkind
+       dLatHeatCanopyTrans_dCanWat  = 0._rkind
+       dVPCanopyAir_dCanWat         = 0._rkind
+    
+       ! set derivatives for ground fluxes w.r.t canopy temperature to zero (no canopy, so fluxes are undefined)
+       dSenHeatGround_dTCanair     = 0._rkind
+       dSenHeatGround_dTCanopy     = 0._rkind
+       dLatHeatGroundEvap_dTCanair = 0._rkind
+       dLatHeatGroundEvap_dTCanopy = 0._rkind
+    
+       ! compute derivatives for the ground fluxes w.r.t. ground temperature
+       dSenHeatGround_dTGround     = (-volHeatCapacityAir*dGroundCondSH_dGroundTemp)*(groundTemp - airtemp) + &                                               ! d(ground sensible heat flux)/d(ground temp)
+                                     (-volHeatCapacityAir*groundConductanceSH)
+       dLatHeatGroundEvap_dTGround = (-latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dGroundTemp)*(satVP_GroundTemp*soilRelHumidity - VPair) + &       ! d(ground latent heat flux)/d(ground temp)
+                                     (-latHeatSubVapGround*latentHeatConstant*groundConductanceLH)*dSVPGround_dGroundTemp*soilRelHumidity
+    
+       !print*, 'dGroundCondLH_dGroundTemp = ', dGroundCondLH_dGroundTemp
+    
+      end if   ! (if canopy is defined)
+    
+     end if  ! (if computing analytical derivatives)
+    
+    
+     ! *****
+     ! * compute net turbulent fluxes, and derivatives...
+     ! **************************************************
+    
+     ! compute net fluxes
+     turbFluxCanair = senHeatTotal - senHeatCanopy - senHeatGround            ! net turbulent flux at the canopy air space (W m-2)
+     turbFluxCanopy = senHeatCanopy + latHeatCanopyEvap + latHeatCanopyTrans  ! net turbulent flux at the canopy (W m-2)
+     turbFluxGround = senHeatGround + latHeatGround                           ! net turbulent flux at the ground surface (W m-2)
+     !write(*,'(a,1x,3(f20.10,1x))') 'senHeatCanopy, latHeatCanopyEvap, latHeatCanopyTrans = ', senHeatCanopy, latHeatCanopyEvap, latHeatCanopyTrans
+    
+      ! * compute derivatives
+     if(ixDerivMethod == analytical)then
+      ! (energy derivatives)
+      dTurbFluxCanair_dTCanair = dSenHeatTotal_dTCanair - dSenHeatCanopy_dTCanair - dSenHeatGround_dTCanair            ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+      dTurbFluxCanair_dTCanopy = dSenHeatTotal_dTCanopy - dSenHeatCanopy_dTCanopy - dSenHeatGround_dTCanopy            ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+      dTurbFluxCanair_dTGround = dSenHeatTotal_dTGround - dSenHeatCanopy_dTGround - dSenHeatGround_dTGround            ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+      dTurbFluxCanopy_dTCanair = dSenHeatCanopy_dTCanair + dLatHeatCanopyEvap_dTCanair + dLatHeatCanopyTrans_dTCanair  ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+      dTurbFluxCanopy_dTCanopy = dSenHeatCanopy_dTCanopy + dLatHeatCanopyEvap_dTCanopy + dLatHeatCanopyTrans_dTCanopy  ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+      dTurbFluxCanopy_dTGround = dSenHeatCanopy_dTGround + dLatHeatCanopyEvap_dTGround + dLatHeatCanopyTrans_dTGround  ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+      dTurbFluxGround_dTCanair = dSenHeatGround_dTCanair + dLatHeatGroundEvap_dTCanair                                 ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+      dTurbFluxGround_dTCanopy = dSenHeatGround_dTCanopy + dLatHeatGroundEvap_dTCanopy                                 ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+      dTurbFluxGround_dTGround = dSenHeatGround_dTGround + dLatHeatGroundEvap_dTGround                                 ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+      ! (liquid water derivatives)
+      dLatHeatCanopyEvap_dCanWat = dLatHeatCanopyEvap_dWetFrac*dCanopyWetFraction_dWat                                 ! derivative in latent heat of canopy evaporation w.r.t. canopy total water (W kg-1)
+      dLatHeatGroundEvap_dCanWat = latHeatSubVapGround*latentHeatConstant*groundConductanceLH*dVPCanopyAir_dCanWat     ! derivative in latent heat of ground evaporation w.r.t. canopy total water (J kg-1 s-1)
+      ! (cross deriavtives)
+      dTurbFluxCanair_dCanWat  = 0._rkind                                                                                 ! derivative in net canopy air space fluxes w.r.t. canopy total water content (J kg-1 s-1)
+      dTurbFluxCanopy_dCanWat  = dLatHeatCanopyEvap_dCanWat + dLatHeatCanopyTrans_dCanWat                              ! derivative in net canopy turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+      dTurbFluxGround_dCanWat  = dLatHeatGroundEvap_dCanWat                                                            ! derivative in net ground turbulent fluxes w.r.t. canopy total water content (J kg-1 s-1)
+     else ! (just make sure we return something)
+      ! (energy derivatives)
+      dTurbFluxCanair_dTCanair = 0._rkind
+      dTurbFluxCanair_dTCanopy = 0._rkind
+      dTurbFluxCanair_dTGround = 0._rkind
+      dTurbFluxCanopy_dTCanair = 0._rkind
+      dTurbFluxCanopy_dTCanopy = 0._rkind
+      dTurbFluxCanopy_dTGround = 0._rkind
+      dTurbFluxGround_dTCanair = 0._rkind
+      dTurbFluxGround_dTCanopy = 0._rkind
+      dTurbFluxGround_dTGround = 0._rkind
+      ! (liquid water derivatives)
+      dLatHeatCanopyEvap_dCanWat   = 0._rkind
+      dLatHeatGroundEvap_dCanWat   = 0._rkind
+      ! (cross deriavtives)
+      dTurbFluxCanair_dCanWat  = 0._rkind
+      dTurbFluxCanopy_dCanWat  = 0._rkind
+      dTurbFluxGround_dCanWat  = 0._rkind
+     end if
+    
+     end subroutine turbFluxes
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine aStability: compute stability corrections for turbulent heat fluxes (-)
+     ! *******************************************************************************************************
+     subroutine aStability(&
+                           ! input: control
+                           computeDerivative,              & ! input: logical flag to compute analytical derivatives
+                           ixStability,                    & ! input: choice of stability function
+                           ! input: forcing data, diagnostic and state variables
+                           mHeight,                        & ! input: measurement height (m)
+                           airTemp,                        & ! input: air temperature (K)
+                           sfcTemp,                        & ! input: surface temperature (K)
+                           windspd,                        & ! input: wind speed (m s-1)
+                           ! input: stability parameters
+                           critRichNumber,                 & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                           Louis79_bparam,                 & ! input: parameter in Louis (1979) stability function
+                           Mahrt87_eScale,                 & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                           ! output
+                           RiBulk,                         & ! output: bulk Richardson number (-)
+                           stabilityCorrection,            & ! output: stability correction for turbulent heat fluxes (-)
+                           dStabilityCorrection_dRich,     & ! output: derivative in stability correction w.r.t. Richardson number (-)
+                           dStabilityCorrection_dAirTemp,  & ! output: derivative in stability correction w.r.t. temperature (K-1)
+                           dStabilityCorrection_dSfcTemp,  & ! output: derivative in stability correction w.r.t. temperature (K-1)
+                           err, message                    ) ! output: error control
+     implicit none
+     ! input: control
+     logical(lgt),intent(in)       :: computeDerivative      ! flag to compute the derivative
+     integer(i4b),intent(in)       :: ixStability            ! choice of stability function
+     ! input: forcing data, diagnostic and state variables
+     real(rkind),intent(in)           :: mHeight                ! measurement height (m)
+     real(rkind),intent(in)           :: airtemp                ! air temperature (K)
+     real(rkind),intent(in)           :: sfcTemp                ! surface temperature (K)
+     real(rkind),intent(in)           :: windspd                ! wind speed (m s-1)
+     ! input: stability parameters
+     real(rkind),intent(in)           :: critRichNumber         ! critical value for the bulk Richardson number where turbulence ceases (-)
+     real(rkind),intent(in)           :: Louis79_bparam         ! parameter in Louis (1979) stability function
+     real(rkind),intent(in)           :: Mahrt87_eScale         ! exponential scaling factor in the Mahrt (1987) stability function
+     ! output
+     real(rkind),intent(out)          :: RiBulk                 ! bulk Richardson number (-)
+     real(rkind),intent(out)          :: stabilityCorrection    ! stability correction for turbulent heat fluxes (-)
+     real(rkind),intent(out)          :: dStabilityCorrection_dRich    ! derivative in stability correction w.r.t. Richardson number (-)
+     real(rkind),intent(out)          :: dStabilityCorrection_dAirTemp ! derivative in stability correction w.r.t. air temperature (K-1)
+     real(rkind),intent(out)          :: dStabilityCorrection_dSfcTemp ! derivative in stability correction w.r.t. surface temperature (K-1)
+     integer(i4b),intent(out)      :: err                    ! error code
+     character(*),intent(out)      :: message                ! error message
+     ! local
+     real(rkind), parameter           :: verySmall=1.e-10_rkind    ! a very small number (avoid stability of zero)
+     real(rkind)                      :: dRiBulk_dAirTemp       ! derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+     real(rkind)                      :: dRiBulk_dSfcTemp       ! derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+     real(rkind)                      :: bPrime                 ! scaled "b" parameter for stability calculations in Louis (1979)
+     ! -----------------------------------------------------------------------------------------------------------------------------------------
+     ! initialize error control
+     err=0; message='aStability/'
+    
+     ! compute the bulk Richardson number (-)
+     call bulkRichardson(&
+                         ! input
+                         airTemp,                        & ! input: air temperature (K)
+                         sfcTemp,                        & ! input: surface temperature (K)
+                         windspd,                        & ! input: wind speed (m s-1)
+                         mHeight,                        & ! input: measurement height (m)
+                         computeDerivative,              & ! input: flag to compute the derivative
+                         ! output
+                         RiBulk,                         & ! output: bulk Richardson number (-)
+                         dRiBulk_dAirTemp,               & ! output: derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+                         dRiBulk_dSfcTemp,               & ! output: derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+                         err,message)                      ! output: error control
+    
+     ! set derivative to one if not computing it
+     if(.not.computeDerivative)then
+      dStabilityCorrection_dRich    = 1._rkind
+      dStabilityCorrection_dAirTemp = 1._rkind
+      dStabilityCorrection_dSfcTemp = 1._rkind
+     end if
+    
+     ! ***** process unstable cases
+     if(RiBulk<0._rkind)then
+      ! compute surface-atmosphere exchange coefficient (-)
+      stabilityCorrection = (1._rkind - 16._rkind*RiBulk)**0.5_rkind
+      ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+      if(computeDerivative)then
+       dStabilityCorrection_dRich    = (-16._rkind) * 0.5_rkind*(1._rkind - 16._rkind*RiBulk)**(-0.5_rkind)
+       dStabilityCorrection_dAirTemp = dRiBulk_dAirTemp * dStabilityCorrection_dRich
+       dStabilityCorrection_dSfcTemp = dRiBulk_dSfcTemp * dStabilityCorrection_dRich
+      end if
+      return
+     end if
+    
+     ! ***** process stable cases
+     select case(ixStability)
+    
+      ! ("standard" stability correction, a la Anderson 1976)
+      case(standard)
+       ! compute surface-atmosphere exchange coefficient (-)
+       if(RiBulk <  critRichNumber) stabilityCorrection = (1._rkind - 5._rkind*RiBulk)**2._rkind
+       if(RiBulk >= critRichNumber) stabilityCorrection = verySmall
+       ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+       if(computeDerivative)then
+        if(RiBulk <  critRichNumber) dStabilityCorrection_dRich = (-5._rkind) * 2._rkind*(1._rkind - 5._rkind*RiBulk)
+        if(RiBulk >= critRichNumber) dStabilityCorrection_dRich = verySmall
+       end if
+    
+      ! (Louis 1979)
+      case(louisInversePower)
+       ! scale the "b" parameter for stable conditions
+       bprime = Louis79_bparam/2._rkind
+       ! compute surface-atmosphere exchange coefficient (-)
+       stabilityCorrection = 1._rkind / ( (1._rkind + bprime*RiBulk)**2._rkind )
+       if(stabilityCorrection < epsilon(stabilityCorrection)) stabilityCorrection = epsilon(stabilityCorrection)
+       ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+       if(computeDerivative)then
+        dStabilityCorrection_dRich = bprime * (-2._rkind)*(1._rkind + bprime*RiBulk)**(-3._rkind)
+       end if
+    
+      ! (Mahrt 1987)
+      case(mahrtExponential)
+       ! compute surface-atmosphere exchange coefficient (-)
+       stabilityCorrection = exp(-Mahrt87_eScale * RiBulk)
+       if(stabilityCorrection < epsilon(stabilityCorrection)) stabilityCorrection = epsilon(stabilityCorrection)
+       ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+       if(computeDerivative)then
+        dStabilityCorrection_dRich = (-Mahrt87_eScale) * exp(-Mahrt87_eScale * RiBulk)
+       end if
+    
+      ! (return error if the stability correction method is not found)
+      case default
+       err=10; message=trim(message)//"optionNotFound[stability correction]"; return
+    
+     end select
+    
+     ! get the stability correction with respect to air temperature and surface temperature
+     ! NOTE: air temperature is used for canopy air temperature, which is a model state variable
+     if(computeDerivative)then
+      dStabilityCorrection_dAirTemp = dRiBulk_dAirTemp * dStabilityCorrection_dRich
+      dStabilityCorrection_dSfcTemp = dRiBulk_dSfcTemp * dStabilityCorrection_dRich
+     end if
+    
+     end subroutine aStability
+    
+    
+     ! *******************************************************************************************************
+     ! private subroutine bulkRichardson: compute bulk Richardson number
+     ! *******************************************************************************************************
+     subroutine bulkRichardson(&
+                               ! input
+                               airTemp,                    & ! input: air temperature (K)
+                               sfcTemp,                    & ! input: surface temperature (K)
+                               windspd,                    & ! input: wind speed (m s-1)
+                               mHeight,                    & ! input: measurement height (m)
+                               computeDerivative,          & ! input: flag to compute the derivative
+                               ! output
+                               RiBulk,                     & ! output: bulk Richardson number (-)
+                               dRiBulk_dAirTemp,           & ! output: derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+                               dRiBulk_dSfcTemp,           & ! output: derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+                               err,message)                  ! output: error control
+     implicit none
+     ! input
+     real(rkind),intent(in)           :: airtemp                ! air temperature (K)
+     real(rkind),intent(in)           :: sfcTemp                ! surface temperature (K)
+     real(rkind),intent(in)           :: windspd                ! wind speed (m s-1)
+     real(rkind),intent(in)           :: mHeight                ! measurement height (m)
+     logical(lgt),intent(in)       :: computeDerivative      ! flag to compute the derivative
+     ! output
+     real(rkind),intent(inout)        :: RiBulk                 ! bulk Richardson number (-)
+     real(rkind),intent(out)          :: dRiBulk_dAirTemp       ! derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+     real(rkind),intent(out)          :: dRiBulk_dSfcTemp       ! derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+     integer(i4b),intent(out)      :: err                    ! error code
+     character(*),intent(out)      :: message                ! error message
+     ! local variables
+     real(rkind)                      :: T_grad        ! gradient in temperature between the atmosphere and surface (K)
+     real(rkind)                      :: T_mean        ! mean of the atmosphere and surface temperature (K)
+     real(rkind)                      :: RiMult        ! dimensionless scaling factor (-)
+     ! initialize error control
+     err=0; message='bulkRichardson/'
+     ! compute local variables
+     T_grad = airtemp - sfcTemp
+     T_mean = 0.5_rkind*(airtemp + sfcTemp)
+     RiMult = (gravity*mHeight)/(windspd*windspd)
+     ! compute the Richardson number
+     RiBulk = (T_grad/T_mean) * RiMult
+     ! compute the derivative in the Richardson number
+     if(computeDerivative)then
+      dRiBulk_dAirTemp =  RiMult/T_mean - RiMult*T_grad/(0.5_rkind*((airtemp + sfcTemp)**2._rkind))
+      dRiBulk_dSfcTemp = -RiMult/T_mean - RiMult*T_grad/(0.5_rkind*((airtemp + sfcTemp)**2._rkind))
+     else
+      dRiBulk_dAirTemp = 1._rkind
+      dRiBulk_dSfcTemp = 1._rkind
+     end if
+     end subroutine bulkRichardson
+    
+    
+    end module vegNrgFlux_module
+    
\ No newline at end of file
diff --git a/build/source/engine/vegNrgFlux_old.f90 b/build/source/engine/vegNrgFlux_old.f90
new file mode 100755
index 0000000..a0e9257
--- /dev/null
+++ b/build/source/engine/vegNrgFlux_old.f90
@@ -0,0 +1,3442 @@
+! SUMMA - Structure for Unifying Multiple Modeling Alternatives
+! Copyright (C) 2014-2020 NCAR/RAL; University of Saskatchewan; University of Washington
+!
+! This file is part of SUMMA
+!
+! For more information see: http://www.ral.ucar.edu/projects/summa
+!
+! This program is free software: you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation, either version 3 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License
+! along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+module vegNrgFlux_module
+
+! data types
+USE nrtype
+
+! derived types to define the data structures
+USE data_types,only:&
+                    var_i,            & ! data vector (i4b)
+                    var_d,            & ! data vector (dp)
+                    var_ilength,      & ! data vector with variable length dimension (i4b)
+                    var_dlength,      & ! data vector with variable length dimension (dp)
+                    model_options       ! defines the model decisions
+
+! indices that define elements of the data structures
+USE var_lookup,only:iLookTYPE           ! named variables for structure elements
+USE var_lookup,only:iLookPROG           ! named variables for structure elements
+USE var_lookup,only:iLookDIAG           ! named variables for structure elements
+USE var_lookup,only:iLookFLUX           ! named variables for structure elements
+USE var_lookup,only:iLookFORCE          ! named variables for structure elements
+USE var_lookup,only:iLookPARAM          ! named variables for structure elements
+USE var_lookup,only:iLookINDEX          ! named variables for structure elements
+USE var_lookup,only:iLookBVAR           ! named variables for structure elements
+USE var_lookup,only:iLookDECISIONS                               ! named variables for elements of the decision structure
+
+! constants
+USE multiconst,only:gravity    ! acceleration of gravity              (m s-2)
+USE multiconst,only:vkc        ! von Karman's constant                (-)
+USE multiconst,only:w_ratio    ! molecular ratio water to dry air     (-)
+USE multiconst,only:R_wv       ! gas constant for water vapor         (Pa K-1 m3 kg-1; J kg-1 K-1)
+USE multiconst,only:Cp_air     ! specific heat of air                 (J kg-1 K-1)
+USE multiconst,only:Cp_ice     ! specific heat of ice                 (J kg-1 K-1)
+USE multiconst,only:Cp_soil    ! specific heat of soil                (J kg-1 K-1)
+USE multiconst,only:Cp_water   ! specific heat of liquid water        (J kg-1 K-1)
+USE multiconst,only:Tfreeze    ! temperature at freezing              (K)
+USE multiconst,only:LH_fus     ! latent heat of fusion                (J kg-1)
+USE multiconst,only:LH_vap     ! latent heat of vaporization          (J kg-1)
+USE multiconst,only:LH_sub     ! latent heat of sublimation           (J kg-1)
+USE multiconst,only:sb         ! Stefan Boltzman constant             (W m-2 K-4)
+USE multiconst,only:iden_air   ! intrinsic density of air             (kg m-3)
+USE multiconst,only:iden_ice   ! intrinsic density of ice             (kg m-3)
+USE multiconst,only:iden_water ! intrinsic density of liquid water    (kg m-3)
+
+! look-up values for method used to compute derivative
+USE mDecisions_module,only:  &
+ numerical,                  & ! numerical solution
+ analytical                    ! analytical solution
+
+! look-up values for choice of boundary conditions for thermodynamics
+USE mDecisions_module,only:  &
+ prescribedTemp,             & ! prescribed temperature
+ energyFlux,                 & ! energy flux
+ zeroFlux                      ! zero flux
+
+! look-up values for the choice of parameterization for vegetation roughness length and displacement height
+USE mDecisions_module,only:  &
+ Raupach_BLM1994,            & ! Raupach (BLM 1994) "Simplified expressions..."
+ CM_QJRMS1988,               & ! Choudhury and Monteith (QJRMS 1988) "A four layer model for the heat budget..."
+ vegTypeTable                  ! constant parameters dependent on the vegetation type
+
+! look-up values for the choice of parameterization for canopy emissivity
+USE mDecisions_module,only:  &
+ simplExp,                   & ! simple exponential function
+ difTrans                      ! parameterized as a function of diffuse transmissivity
+
+! look-up values for the choice of canopy wind profile
+USE mDecisions_module,only:  &
+ exponential,                & ! exponential wind profile extends to the surface
+ logBelowCanopy                ! logarithmic profile below the vegetation canopy
+
+! look-up values for choice of stability function
+USE mDecisions_module,only:  &
+ standard,                   & ! standard MO similarity, a la Anderson (1976)
+ louisInversePower,          & ! Louis (1979) inverse power function
+ mahrtExponential              ! Mahrt (1987) exponential
+
+! look-up values for the choice of groundwater representation (local-column, or single-basin)
+USE mDecisions_module,only:  &
+ localColumn,                & ! separate groundwater representation in each local soil column
+ singleBasin                   ! single groundwater store over the entire basin
+
+! -------------------------------------------------------------------------------------------------
+! privacy
+implicit none
+private
+public::vegNrgFlux
+public::wettedFrac
+! dimensions
+integer(i4b),parameter        :: nBands=2      ! number of spectral bands for shortwave radiation
+! named variables
+integer(i4b),parameter        :: ist     = 1   ! Surface type:  IST=1 => soil;  IST=2 => lake
+integer(i4b),parameter        :: isc     = 4   ! Soil color type
+integer(i4b),parameter        :: ice     = 0   ! Surface type:  ICE=0 => soil;  ICE=1 => sea-ice
+! spatial indices
+integer(i4b),parameter        :: iLoc    = 1   ! i-location
+integer(i4b),parameter        :: jLoc    = 1   ! j-location
+! algorithmic parameters
+real(dp),parameter            :: missingValue=-9999._dp   ! missing value, used when diagnostic or state variables are undefined
+real(dp),parameter            :: verySmall=1.e-6_dp       ! used as an additive constant to check if substantial difference among real numbers
+real(dp),parameter            :: tinyVal=epsilon(1._dp)   ! used as an additive constant to check if substantial difference among real numbers
+real(dp),parameter            :: mpe=1.e-6_dp             ! prevents overflow error if division by zero
+real(dp),parameter            :: dx=1.e-11_dp             ! finite difference increment
+! control
+logical(lgt)                  :: printflag            ! flag to turn on printing
+contains
+
+! *******************************************************************************************************
+! public subroutine vegNrgFlux: muster program to compute energy fluxes at vegetation and ground surfaces
+! *******************************************************************************************************
+subroutine vegNrgFlux(&
+                       ! input: model control
+                       firstSubStep,                            & ! intent(in): flag to indicate if we are processing the first sub-step
+                       firstFluxCall,                           & ! intent(in): flag to indicate if we are processing the first flux call
+                       computeVegFlux,                          & ! intent(in): flag to indicate if we need to compute fluxes over vegetation
+                       requireLWBal,                            & ! intent(in): flag to indicate if we need longwave to be balanced
+                       
+                       ! input: model state variables
+                       upperBoundTemp,                          & ! intent(in): temperature of the upper boundary (K) --> NOTE: use air temperature
+                       canairTempTrial,                         & ! intent(in): trial value of the canopy air space temperature (K)
+                       canopyTempTrial,                         & ! intent(in): trial value of canopy temperature (K)
+                       groundTempTrial,                         & ! intent(in): trial value of ground temperature (K)
+                       canopyIceTrial,                          & ! intent(in): trial value of mass of ice on the vegetation canopy (kg m-2)
+                       canopyLiqTrial,                          & ! intent(in): trial value of mass of liquid water on the vegetation canopy (kg m-2)
+
+                       ! input: model derivatives
+                       dCanLiq_dTcanopy,                        & ! intent(in): derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+
+                       ! input/output: data structures
+                       type_data,                               & ! intent(in):    type of vegetation and soil
+                       forc_data,                               & ! intent(in):    model forcing data
+                       mpar_data,                               & ! intent(in):    model parameters
+                       indx_data,                               & ! intent(in):    state vector geometry
+                       prog_data,                               & ! intent(in):    model prognostic variables for a local HRU
+                       diag_data,                               & ! intent(inout): model diagnostic variables for a local HRU
+                       flux_data,                               & ! intent(inout): model fluxes for a local HRU
+                       bvar_data,                               & ! intent(in):    model variables for the local basin
+                       model_decisions,                         & ! intent(in):    model decisions
+
+                       ! output: liquid water fluxes associated with evaporation/transpiration (needed for coupling)
+                       returnCanopyTranspiration,               & ! intent(out): canopy transpiration (kg m-2 s-1)
+                       returnCanopyEvaporation,                 & ! intent(out): canopy evaporation/condensation (kg m-2 s-1)
+                       returnGroundEvaporation,                 & ! intent(out): ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+
+                       ! output: fluxes
+                       canairNetFlux,                           & ! intent(out): net energy flux for the canopy air space (W m-2)
+                       canopyNetFlux,                           & ! intent(out): net energy flux for the vegetation canopy (W m-2)
+                       groundNetFlux,                           & ! intent(out): net energy flux for the ground surface (W m-2)
+
+                       ! output: energy flux derivatives
+                       dCanairNetFlux_dCanairTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+                       dCanairNetFlux_dCanopyTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+                       dCanairNetFlux_dGroundTemp,              & ! intent(out): derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+                       dCanopyNetFlux_dCanairTemp,              & ! intent(out): derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+                       dCanopyNetFlux_dCanopyTemp,              & ! intent(out): derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+                       dCanopyNetFlux_dGroundTemp,              & ! intent(out): derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+                       dGroundNetFlux_dCanairTemp,              & ! intent(out): derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+                       dGroundNetFlux_dCanopyTemp,              & ! intent(out): derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+                       dGroundNetFlux_dGroundTemp,              & ! intent(out): derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+
+                       ! output liquid water flux derivarives (canopy evap)
+                       dCanopyEvaporation_dCanWat,              & ! intent(out): derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
+                       dCanopyEvaporation_dTCanair,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+                       dCanopyEvaporation_dTCanopy,             & ! intent(out): derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+                       dCanopyEvaporation_dTGround,             & ! intent(out): derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+
+                       ! output: liquid water flux derivarives (ground evap)
+                       dGroundEvaporation_dCanWat,              & ! intent(out): derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
+                       dGroundEvaporation_dTCanair,             & ! intent(out): derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+                       dGroundEvaporation_dTCanopy,             & ! intent(out): derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+                       dGroundEvaporation_dTGround,             & ! intent(out): derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+                       
+                       ! output: transpiration derivatives
+                       dCanopyTrans_dCanWat,                    & ! intent(out): derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+                       dCanopyTrans_dTCanair,                   & ! intent(out): derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+                       dCanopyTrans_dTCanopy,                   & ! intent(out): derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+                       dCanopyTrans_dTGround,                   & ! intent(out): derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+
+                       ! output: cross derivative terms
+                       dCanopyNetFlux_dCanWat,                  & ! intent(out): derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                       dGroundNetFlux_dCanWat,                  & ! intent(out): derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+
+                       ! output: error control
+                       err,message)                               ! intent(out): error control
+
+  ! utilities
+  USE expIntegral_module,only:expInt                               ! function to calculate the exponential integral
+  ! conversion functions
+  USE conv_funcs_module,only:satVapPress                           ! function to compute the saturated vapor pressure (Pa)
+  USE conv_funcs_module,only:getLatentHeatValue                    ! function to identify latent heat of vaporization/sublimation (J kg-1)
+  ! stomatal resistance
+  USE stomResist_module,only:stomResist                            ! subroutine to calculate stomatal resistance
+
+  USE snow_utils_module,only:fracliquid      ! compute fraction of liquid water at a given temperature
+  ! compute energy and mass fluxes for vegetation
+  implicit none
+
+  ! ---------------------------------------------------------------------------------------
+  ! * dummy variables
+  ! ---------------------------------------------------------------------------------------
+  ! input: model control
+  logical(lgt),intent(in)         :: firstSubStep                    ! flag to indicate if we are processing the first sub-step
+  logical(lgt),intent(in)         :: firstFluxCall                   ! flag to indicate if we are processing the first flux call
+  logical(lgt),intent(in)         :: computeVegFlux                  ! flag to indicate if computing fluxes over vegetation
+  logical(lgt),intent(in)         :: requireLWBal                    ! flag to indicate if we need longwave to be balanced
+
+  ! input: model state variables
+  real(dp),intent(in)             :: upperBoundTemp                  ! temperature of the upper boundary (K) --> NOTE: use air temperature
+  real(dp),intent(in)             :: canairTempTrial                 ! trial value of canopy air space temperature (K)
+  real(dp),intent(in)             :: canopyTempTrial                 ! trial value of canopy temperature (K)
+  real(dp),intent(in)             :: groundTempTrial                 ! trial value of ground temperature (K)
+  real(dp),intent(in)             :: canopyIceTrial                  ! trial value of mass of ice on the vegetation canopy (kg m-2)
+  real(dp),intent(in)             :: canopyLiqTrial                  ! trial value of mass of liquid water on the vegetation canopy (kg m-2)
+
+  ! input: model derivatives
+  real(dp),intent(in)             :: dCanLiq_dTcanopy                ! intent(in): derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+
+  ! input/output: data structures
+  type(var_i),intent(in)          :: type_data                       ! type of vegetation and soil
+  type(var_d),intent(in)          :: forc_data                       ! model forcing data
+  type(var_dlength),intent(in)    :: mpar_data                       ! model parameters
+  type(var_ilength),intent(in)    :: indx_data                       ! state vector geometry
+  type(var_dlength),intent(in)    :: prog_data                       ! prognostic variables for a local HRU
+  type(var_dlength),intent(inout) :: diag_data                       ! diagnostic variables for a local HRU
+  type(var_dlength),intent(inout) :: flux_data                       ! model fluxes for a local HRU
+  type(var_dlength),intent(in)    :: bvar_data                       ! model variables for the local basin
+  type(model_options),intent(in)  :: model_decisions(:)              ! model decisions
+
+  ! output: liquid water fluxes associated with evaporation/transpiration (needed for coupling)
+  real(dp),intent(out)            :: returnCanopyTranspiration       ! canopy transpiration (kg m-2 s-1)
+  real(dp),intent(out)            :: returnCanopyEvaporation         ! canopy evaporation/condensation (kg m-2 s-1)
+  real(dp),intent(out)            :: returnGroundEvaporation         ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+
+  ! output: fluxes
+  real(dp),intent(out)            :: canairNetFlux                   ! net energy flux for the canopy air space (W m-2)
+  real(dp),intent(out)            :: canopyNetFlux                   ! net energy flux for the vegetation canopy (W m-2)
+  real(dp),intent(out)            :: groundNetFlux                   ! net energy flux for the ground surface (W m-2)
+
+  ! output: energy flux derivatives
+  real(dp),intent(out)            :: dCanairNetFlux_dCanairTemp      ! derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dCanairNetFlux_dCanopyTemp      ! derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dCanairNetFlux_dGroundTemp      ! derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dCanopyNetFlux_dCanairTemp      ! derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dCanopyNetFlux_dCanopyTemp      ! derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dCanopyNetFlux_dGroundTemp      ! derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dGroundNetFlux_dCanairTemp      ! derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dGroundNetFlux_dCanopyTemp      ! derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+  real(dp),intent(out)            :: dGroundNetFlux_dGroundTemp      ! derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+
+  ! output: liquid flux derivatives (canopy evap)
+  real(dp),intent(out)            :: dCanopyEvaporation_dCanWat      ! derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
+  real(dp),intent(out)            :: dCanopyEvaporation_dTCanair     ! derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+  real(dp),intent(out)            :: dCanopyEvaporation_dTCanopy     ! derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+  real(dp),intent(out)            :: dCanopyEvaporation_dTGround     ! derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+
+  ! output: liquid flux derivatives (ground evap)
+  real(dp),intent(out)            :: dGroundEvaporation_dCanWat      ! derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
+  real(dp),intent(out)            :: dGroundEvaporation_dTCanair     ! derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+  real(dp),intent(out)            :: dGroundEvaporation_dTCanopy     ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+  real(dp),intent(out)            :: dGroundEvaporation_dTGround     ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+  
+  ! output: transpiration derivatives
+  real(dp),intent(out)            :: dCanopyTrans_dCanWat            ! intent(out): derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+  real(dp),intent(out)            :: dCanopyTrans_dTCanair           ! intent(out): derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+  real(dp),intent(out)            :: dCanopyTrans_dTCanopy           ! intent(out): derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+  real(dp),intent(out)            :: dCanopyTrans_dTGround           ! intent(out): derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+ 
+  ! output: cross derivative terms
+  real(dp),intent(out)            :: dCanopyNetFlux_dCanWat          ! derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+  real(dp),intent(out)            :: dGroundNetFlux_dCanWat          ! derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+
+  ! output: error control
+  integer(i4b),intent(out)        :: err                             ! error code
+  character(*),intent(out)        :: message                         ! error message
+
+  ! ---------------------------------------------------------------------------------------
+  ! * local variables
+  ! ---------------------------------------------------------------------------------------
+  ! local (general)
+  character(LEN=256)              :: cmessage                         ! error message of downwind routine
+  real(dp)                        :: VAI                              ! vegetation area index (m2 m-2)
+  real(dp)                        :: exposedVAI                       ! exposed vegetation area index (m2 m-2)
+  real(dp)                        :: totalCanopyWater                 ! total water on the vegetation canopy (kg m-2)
+  real(dp)                        :: scalarAquiferStorage             ! aquifer storage (m)
+
+  ! local (compute numerical derivatives)
+  integer(i4b),parameter          :: unperturbed=1                    ! named variable to identify the case of unperturbed state variables
+  integer(i4b),parameter          :: perturbStateGround=2             ! named variable to identify the case where we perturb the ground temperature
+  integer(i4b),parameter          :: perturbStateCanopy=3             ! named variable to identify the case where we perturb the canopy temperature
+  integer(i4b),parameter          :: perturbStateCanair=4             ! named variable to identify the case where we perturb the canopy air temperature
+  integer(i4b),parameter          :: perturbStateCanLiq=5             ! named variable to identify the case where we perturb the canopy liquid water content
+  integer(i4b)                    :: itry                             ! index of flux evaluation
+  integer(i4b)                    :: nFlux                            ! number of flux evaluations
+  real(dp)                        :: groundTemp                       ! value of ground temperature used in flux calculations (may be perturbed)
+  real(dp)                        :: canopyTemp                       ! value of canopy temperature used in flux calculations (may be perturbed)
+  real(dp)                        :: canairTemp                       ! value of canopy air temperature used in flux calculations (may be perturbed)
+  real(dp)                        :: canopyWat                     ! value of canopy total water used in flux calculations (may be perturbed)
+  real(dp)                        :: canopyLiq                     ! value of canopy liquid water used in flux calculations (may be perturbed)
+  real(dp)                        :: canopyIce                     ! value of canopy ice used in flux calculations (may be perturbed)
+  real(dp)                        :: try0,try1                        ! trial values to evaluate specific derivatives (testing only)
+
+  ! local (saturation vapor pressure of veg)
+  real(dp)                        :: TV_celcius                       ! vegetaion temperature (C)
+  real(dp)                        :: TG_celcius                       ! ground temperature (C)
+  real(dp)                        :: dSVPCanopy_dCanopyTemp           ! derivative in canopy saturated vapor pressure w.r.t. vegetation temperature (Pa/K)
+  real(dp)                        :: dSVPGround_dGroundTemp           ! derivative in ground saturated vapor pressure w.r.t. ground temperature (Pa/K)
+
+  ! local (wetted canopy area)
+  real(dp)                        :: fracLiquidCanopy                 ! fraction of liquid water in the canopy (-)
+  real(dp)                        :: canopyWetFraction                ! trial value of the canopy wetted fraction (-)
+  real(dp)                        :: dCanopyWetFraction_dWat          ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+  real(dp)                        :: dCanopyWetFraction_dT            ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+
+  ! local (longwave radiation)
+  real(dp)                        :: expi                             ! exponential integral
+  real(dp)                        :: scaleLAI                         ! scaled LAI (computing diffuse transmissivity)
+  real(dp)                        :: diffuseTrans                     ! diffuse transmissivity (-)
+  real(dp)                        :: groundEmissivity                 ! emissivity of the ground surface (-)
+  real(dp),parameter              :: vegEmissivity=0.98_dp            ! emissivity of vegetation (0.9665 in JULES) (-)
+  real(dp),parameter              :: soilEmissivity=0.98_dp           ! emmisivity of the soil (0.9665 in JULES) (-)
+  real(dp),parameter              :: snowEmissivity=0.99_dp           ! emissivity of snow (-)
+  real(dp)                        :: dLWNetCanopy_dTCanopy            ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+  real(dp)                        :: dLWNetGround_dTGround            ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+  real(dp)                        :: dLWNetCanopy_dTGround            ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+  real(dp)                        :: dLWNetGround_dTCanopy            ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+
+  ! local (aerodynamic resistance)
+  real(dp)                        :: scalarCanopyStabilityCorrection_old    ! stability correction for the canopy (-)
+  real(dp)                        :: scalarGroundStabilityCorrection_old    ! stability correction for the ground surface (-)
+
+  ! local (turbulent heat transfer)
+  real(dp)                        :: z0Ground                         ! roughness length of the ground (ground below the canopy or non-vegetated surface) (m)
+  real(dp)                        :: soilEvapFactor                   ! soil water control on evaporation from non-vegetated surfaces
+  real(dp)                        :: soilRelHumidity_noSnow           ! relative humidity in the soil pores [0-1]
+  real(dp)                        :: scalarLeafConductance            ! leaf conductance (m s-1)
+  real(dp)                        :: scalarCanopyConductance          ! canopy conductance (m s-1)
+  real(dp)                        :: scalarGroundConductanceSH        ! ground conductance for sensible heat (m s-1)
+  real(dp)                        :: scalarGroundConductanceLH        ! ground conductance for latent heat -- includes soil resistance (m s-1)
+  real(dp)                        :: scalarEvapConductance            ! conductance for evaporation (m s-1)
+  real(dp)                        :: scalarTransConductance           ! conductance for transpiration (m s-1)
+  real(dp)                        :: scalarTotalConductanceSH         ! total conductance for sensible heat (m s-1)
+  real(dp)                        :: scalarTotalConductanceLH         ! total conductance for latent heat (m s-1)
+  real(dp)                        :: dGroundResistance_dTGround       ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+  real(dp)                        :: dGroundResistance_dTCanopy       ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+  real(dp)                        :: dGroundResistance_dTCanair       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+  real(dp)                        :: dCanopyResistance_dTCanopy       ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+  real(dp)                        :: dCanopyResistance_dTCanair       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+  real(dp)                        :: turbFluxCanair                   ! total turbulent heat fluxes exchanged at the canopy air space (W m-2)
+  real(dp)                        :: turbFluxCanopy                   ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+  real(dp)                        :: turbFluxGround                   ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+
+  ! local (turbulent heat transfer -- compute numerical derivatives)
+  ! (temporary scalar resistances when states are perturbed)
+  real(dp)                        :: trialLeafResistance              ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+  real(dp)                        :: trialGroundResistance            ! below canopy aerodynamic resistance (s m-1)
+  real(dp)                        :: trialCanopyResistance            ! above canopy aerodynamic resistance (s m-1)
+  real(dp)                        :: notUsed_RiBulkCanopy             ! bulk Richardson number for the canopy (-)
+  real(dp)                        :: notUsed_RiBulkGround             ! bulk Richardson number for the ground surface (-)
+  real(dp)                        :: notUsed_z0Canopy                 ! roughness length of the vegetation canopy (m)
+  real(dp)                        :: notUsed_WindReductionFactor      ! canopy wind reduction factor (-)
+  real(dp)                        :: notUsed_ZeroPlaneDisplacement    ! zero plane displacement (m)
+  real(dp)                        :: notUsed_scalarCanopyStabilityCorrection  ! stability correction for the canopy (-)
+  real(dp)                        :: notUsed_scalarGroundStabilityCorrection  ! stability correction for the ground surface (-)
+  real(dp)                        :: notUsed_EddyDiffusCanopyTop      ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+  real(dp)                        :: notUsed_FrictionVelocity         ! friction velocity (m s-1)
+  real(dp)                        :: notUsed_WindspdCanopyTop         ! windspeed at the top of the canopy (m s-1)
+  real(dp)                        :: notUsed_WindspdCanopyBottom      ! windspeed at the height of the bottom of the canopy (m s-1)
+  real(dp)                        :: notUsed_dGroundResistance_dTGround  ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+  real(dp)                        :: notUsed_dGroundResistance_dTCanopy  ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+  real(dp)                        :: notUsed_dGroundResistance_dTCanair  ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+  real(dp)                        :: notUsed_dCanopyResistance_dTCanopy  ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+  real(dp)                        :: notUsed_dCanopyResistance_dTCanair  ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+
+  ! (fluxes after perturbations in model states -- canopy air space)
+  real(dp)                        :: turbFluxCanair_dStateCanair      ! turbulent exchange from the canopy air space to the atmosphere, after canopy air temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxCanair_dStateCanopy      ! turbulent exchange from the canopy air space to the atmosphere, after canopy temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxCanair_dStateGround      ! turbulent exchange from the canopy air space to the atmosphere, after ground temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxCanair_dStateCanWat      ! turbulent exchange from the canopy air space to the atmosphere, after canopy liquid water content is perturbed (W m-2)
+  ! (fluxes after perturbations in model states -- vegetation canopy)
+  real(dp)                        :: turbFluxCanopy_dStateCanair      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy air temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxCanopy_dStateCanopy      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxCanopy_dStateGround      ! total turbulent heat fluxes from the canopy to the canopy air space, after ground temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxCanopy_dStateCanWat      ! total turbulent heat fluxes from the canopy to the canopy air space, after canopy liquid water content is perturbed (W m-2)
+
+  ! (fluxes after perturbations in model states -- ground surface)
+  real(dp)                        :: turbFluxGround_dStateCanair      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy air temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxGround_dStateCanopy      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxGround_dStateGround      ! total turbulent heat fluxes from the ground to the canopy air space, after ground temperature is perturbed (W m-2)
+  real(dp)                        :: turbFluxGround_dStateCanWat      ! total turbulent heat fluxes from the ground to the canopy air space, after canopy liquid water content is perturbed (W m-2)
+
+  ! (fluxes after perturbations in model states -- canopy evaporation)
+  real(dp)                        :: latHeatCanEvap_dStateCanair      ! canopy evaporation after canopy air temperature is perturbed (W m-2)
+  real(dp)                        :: latHeatCanEvap_dStateCanopy      ! canopy evaporation after canopy temperature is perturbed (W m-2)
+  real(dp)                        :: latHeatCanEvap_dStateGround      ! canopy evaporation after ground temperature is perturbed (W m-2)
+  real(dp)                        :: latHeatCanEvap_dStateCanWat      ! canopy evaporation after canopy liquid water content is perturbed (W m-2)
+
+  ! (flux derivatives -- canopy air space)
+  real(dp)                        :: dTurbFluxCanair_dTCanair         ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxCanair_dTCanopy         ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxCanair_dTGround         ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxCanair_dCanLiq          ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+
+  ! (flux derivatives -- vegetation canopy)
+  real(dp)                        :: dTurbFluxCanopy_dTCanair         ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxCanopy_dTCanopy         ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxCanopy_dTGround         ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxCanopy_dCanWat          ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+
+  ! (flux derivatives -- ground surface)
+  real(dp)                        :: dTurbFluxGround_dTCanair         ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxGround_dTCanopy         ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxGround_dTGround         ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+  real(dp)                        :: dTurbFluxGround_dCanWat          ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+
+  ! (liquid water flux derivatives -- canopy evap)
+  real(dp)                        :: dLatHeatCanopyEvap_dCanWat       ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (W kg-1)
+  real(dp)                        :: dLatHeatCanopyEvap_dTCanair      ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp)                        :: dLatHeatCanopyEvap_dTCanopy      ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+  real(dp)                        :: dLatHeatCanopyEvap_dTGround      ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+
+  ! (liquid water flux derivatives -- ground evap)
+  real(dp)                        :: dLatHeatGroundEvap_dCanWat       ! derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
+  real(dp)                        :: dLatHeatGroundEvap_dTCanair      ! derivative in latent heat of ground evaporation w.r.t. canopy air temperature (W m-2 K-1)
+  real(dp)                        :: dLatHeatGroundEvap_dTCanopy      ! derivative in latent heat of ground evaporation w.r.t. canopy temperature (W m-2 K-1)
+  real(dp)                        :: dLatHeatGroundEvap_dTGround      ! derivative in latent heat of ground evaporation w.r.t. ground temperature (W m-2 K-1)
+ 
+  ! output: latent heat flux derivatives (canopy trans)
+  real(dp)                      :: dLatHeatCanopyTrans_dCanWat       ! derivative in the latent heat of canopy transpiration w.r.t. canopy total water (J kg-1 s-1)
+  real(dp)                      :: dLatHeatCanopyTrans_dTCanair      ! derivative in the latent heat of canopy transpiration w.r.t. canopy air temperature
+  real(dp)                      :: dLatHeatCanopyTrans_dTCanopy      ! derivative in the latent heat of canopy transpiration w.r.t. canopy temperature
+  real(dp)                      :: dLatHeatCanopyTrans_dTGround      ! derivative in the latent heat of canopy transpiration w.r.t. ground temperature
+ 
+  ! ---------------------------------------------------------------------------------------
+  ! point to variables in the data structure
+  ! ---------------------------------------------------------------------------------------
+  associate(&
+
+  ! input: model decisions
+  ix_bcUpprTdyn                   => model_decisions(iLookDECISIONS%bcUpprTdyn)%iDecision,           & ! intent(in): [i4b] choice of upper boundary condition for thermodynamics
+  ix_fDerivMeth                   => model_decisions(iLookDECISIONS%fDerivMeth)%iDecision,           & ! intent(in): [i4b] choice of method to compute derivatives
+  ix_veg_traits                   => model_decisions(iLookDECISIONS%veg_traits)%iDecision,           & ! intent(in): [i4b] choice of parameterization for vegetation roughness length and displacement height
+  ix_canopyEmis                   => model_decisions(iLookDECISIONS%canopyEmis)%iDecision,           & ! intent(in): [i4b] choice of parameterization for canopy emissivity
+  ix_windPrfile                   => model_decisions(iLookDECISIONS%windPrfile)%iDecision,           & ! intent(in): [i4b] choice of canopy wind profile
+  ix_astability                   => model_decisions(iLookDECISIONS%astability)%iDecision,           & ! intent(in): [i4b] choice of stability function
+  ix_soilStress                   => model_decisions(iLookDECISIONS%soilStress)%iDecision,           & ! intent(in): [i4b] choice of function for the soil moisture control on stomatal resistance
+  ix_groundwatr                   => model_decisions(iLookDECISIONS%groundwatr)%iDecision,           & ! intent(in): [i4b] choice of groundwater parameterization
+  ix_stomResist                   => model_decisions(iLookDECISIONS%stomResist)%iDecision,           & ! intent(in): [i4b] choice of function for stomatal resistance
+  ix_spatial_gw                   => model_decisions(iLookDECISIONS%spatial_gw)%iDecision,           & ! intent(in): [i4b] choice of groundwater representation (local, basin)
+
+  ! input: layer geometry
+  nSnow                           => indx_data%var(iLookINDEX%nSnow)%dat(1),                         & ! intent(in): [i4b] number of snow layers
+  nSoil                           => indx_data%var(iLookINDEX%nSoil)%dat(1),                         & ! intent(in): [i4b] number of soil layers
+  nLayers                         => indx_data%var(iLookINDEX%nLayers)%dat(1),                       & ! intent(in): [i4b] total number of layers
+
+  ! input: physical attributes
+  vegTypeIndex                    => type_data%var(iLookTYPE%vegTypeIndex),                          & ! intent(in): [i4b] vegetation type index
+  soilTypeIndex                   => type_data%var(iLookTYPE%soilTypeIndex),                         & ! intent(in): [i4b] soil type index
+
+  ! input: vegetation parameters
+  heightCanopyTop                 => mpar_data%var(iLookPARAM%heightCanopyTop)%dat(1),               & ! intent(in): [dp] height at the top of the vegetation canopy (m)
+  heightCanopyBottom              => mpar_data%var(iLookPARAM%heightCanopyBottom)%dat(1),            & ! intent(in): [dp] height at the bottom of the vegetation canopy (m)
+  canopyWettingFactor             => mpar_data%var(iLookPARAM%canopyWettingFactor)%dat(1),           & ! intent(in): [dp] maximum wetted fraction of the canopy (-)
+  canopyWettingExp                => mpar_data%var(iLookPARAM%canopyWettingExp)%dat(1),              & ! intent(in): [dp] exponent in canopy wetting function (-)
+  scalarCanopyIceMax              => diag_data%var(iLookDIAG%scalarCanopyIceMax)%dat(1),             & ! intent(in): [dp] maximum interception storage capacity for ice (kg m-2)
+  scalarCanopyLiqMax              => diag_data%var(iLookDIAG%scalarCanopyLiqMax)%dat(1),             & ! intent(in): [dp] maximum interception storage capacity for liquid water (kg m-2)
+
+  ! input: vegetation phenology
+  scalarLAI                       => diag_data%var(iLookDIAG%scalarLAI)%dat(1),                      & ! intent(in): [dp] one-sided leaf area index (m2 m-2)
+  scalarSAI                       => diag_data%var(iLookDIAG%scalarSAI)%dat(1),                      & ! intent(in): [dp] one-sided stem area index (m2 m-2)
+  scalarExposedLAI                => diag_data%var(iLookDIAG%scalarExposedLAI)%dat(1),               & ! intent(in): [dp] exposed leaf area index after burial by snow (m2 m-2)
+  scalarExposedSAI                => diag_data%var(iLookDIAG%scalarExposedSAI)%dat(1),               & ! intent(in): [dp] exposed stem area index after burial by snow (m2 m-2)
+  scalarGrowingSeasonIndex        => diag_data%var(iLookDIAG%scalarGrowingSeasonIndex)%dat(1),       & ! intent(in): [dp] growing season index (0=off, 1=on)
+  scalarFoliageNitrogenFactor     => diag_data%var(iLookDIAG%scalarFoliageNitrogenFactor)%dat(1),    & ! intent(in): [dp] foliage nitrogen concentration (1.0 = saturated)
+
+  ! input: aerodynamic resistance parameters
+  z0Snow                          => mpar_data%var(iLookPARAM%z0Snow)%dat(1),                        & ! intent(in): [dp] roughness length of snow (m)
+  z0Soil                          => mpar_data%var(iLookPARAM%z0Soil)%dat(1),                        & ! intent(in): [dp] roughness length of soil (m)
+  z0CanopyParam                   => mpar_data%var(iLookPARAM%z0Canopy)%dat(1),                      & ! intent(in): [dp] roughness length of the canopy (m)
+  zpdFraction                     => mpar_data%var(iLookPARAM%zpdFraction)%dat(1),                   & ! intent(in): [dp] zero plane displacement / canopy height (-)
+  critRichNumber                  => mpar_data%var(iLookPARAM%critRichNumber)%dat(1),                & ! intent(in): [dp] critical value for the bulk Richardson number where turbulence ceases (-)
+  Louis79_bparam                  => mpar_data%var(iLookPARAM%Louis79_bparam)%dat(1),                & ! intent(in): [dp] parameter in Louis (1979) stability function
+  Louis79_cStar                   => mpar_data%var(iLookPARAM%Louis79_cStar)%dat(1),                 & ! intent(in): [dp] parameter in Louis (1979) stability function
+  Mahrt87_eScale                  => mpar_data%var(iLookPARAM%Mahrt87_eScale)%dat(1),                & ! intent(in): [dp] exponential scaling factor in the Mahrt (1987) stability function
+  windReductionParam              => mpar_data%var(iLookPARAM%windReductionParam)%dat(1),            & ! intent(in): [dp] canopy wind reduction parameter (-)
+  leafExchangeCoeff               => mpar_data%var(iLookPARAM%leafExchangeCoeff)%dat(1),             & ! intent(in): [dp] turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+  leafDimension                   => mpar_data%var(iLookPARAM%leafDimension)%dat(1),                 & ! intent(in): [dp] characteristic leaf dimension (m)
+
+  ! input: soil stress parameters
+  theta_sat                       => mpar_data%var(iLookPARAM%theta_sat)%dat(1),                     & ! intent(in): [dp] soil porosity (-)
+  theta_res                       => mpar_data%var(iLookPARAM%theta_res)%dat(1),                     & ! intent(in): [dp] residual volumetric liquid water content (-)
+  plantWiltPsi                    => mpar_data%var(iLookPARAM%plantWiltPsi)%dat(1),                  & ! intent(in): [dp] matric head at wilting point (m)
+  soilStressParam                 => mpar_data%var(iLookPARAM%soilStressParam)%dat(1),               & ! intent(in): [dp] parameter in the exponential soil stress function (-)
+  critSoilWilting                 => mpar_data%var(iLookPARAM%critSoilWilting)%dat(1),               & ! intent(in): [dp] critical vol. liq. water content when plants are wilting (-)
+  critSoilTranspire               => mpar_data%var(iLookPARAM%critSoilTranspire)%dat(1),             & ! intent(in): [dp] critical vol. liq. water content when transpiration is limited (-)
+  critAquiferTranspire            => mpar_data%var(iLookPARAM%critAquiferTranspire)%dat(1),          & ! intent(in): [dp] critical aquifer storage value when transpiration is limited (m)
+  minStomatalResistance           => mpar_data%var(iLookPARAM%minStomatalResistance)%dat(1),         & ! intent(in): [dp] mimimum stomatal resistance (s m-1)
+
+  ! input: forcing at the upper boundary
+  mHeight                         => diag_data%var(iLookDIAG%scalarAdjMeasHeight)%dat(1),            & ! intent(in): [dp] measurement height (m)
+  airtemp                         => forc_data%var(iLookFORCE%airtemp),                              & ! intent(in): [dp] air temperature at some height above the surface (K)
+  windspd                         => forc_data%var(iLookFORCE%windspd),                              & ! intent(in): [dp] wind speed at some height above the surface (m s-1)
+  airpres                         => forc_data%var(iLookFORCE%airpres),                              & ! intent(in): [dp] air pressure at some height above the surface (Pa)
+  LWRadAtm                        => forc_data%var(iLookFORCE%LWRadAtm),                             & ! intent(in): [dp] downwelling longwave radiation at the upper boundary (W m-2)
+  scalarVPair                     => diag_data%var(iLookDIAG%scalarVPair)%dat(1),                    & ! intent(in): [dp] vapor pressure at some height above the surface (Pa)
+  scalarO2air                     => diag_data%var(iLookDIAG%scalarO2air)%dat(1),                    & ! intent(in): [dp] atmospheric o2 concentration (Pa)
+  scalarCO2air                    => diag_data%var(iLookDIAG%scalarCO2air)%dat(1),                   & ! intent(in): [dp] atmospheric co2 concentration (Pa)
+  scalarTwetbulb                  => diag_data%var(iLookDIAG%scalarTwetbulb)%dat(1),                 & ! intent(in): [dp] wetbulb temperature (K)
+  scalarRainfall                  => flux_data%var(iLookFLUX%scalarRainfall)%dat(1),                 & ! intent(in): [dp] computed rainfall rate (kg m-2 s-1)
+  scalarSnowfall                  => flux_data%var(iLookFLUX%scalarSnowfall)%dat(1),                 & ! intent(in): [dp] computed snowfall rate (kg m-2 s-1)
+  scalarThroughfallRain           => flux_data%var(iLookFLUX%scalarThroughfallRain)%dat(1),          & ! intent(in): [dp] rainfall through the vegetation canopy (kg m-2 s-1)
+  scalarThroughfallSnow           => flux_data%var(iLookFLUX%scalarThroughfallSnow)%dat(1),          & ! intent(in): [dp] snowfall through the vegetation canopy (kg m-2 s-1)
+
+  ! input: water storage
+  ! NOTE: soil stress only computed at the start of the substep (firstFluxCall=.true.)
+  scalarSWE                       => prog_data%var(iLookPROG%scalarSWE)%dat(1),                      & ! intent(in): [dp]    snow water equivalent on the ground (kg m-2)
+  scalarSnowDepth                 => prog_data%var(iLookPROG%scalarSnowDepth)%dat(1),                & ! intent(in): [dp]    snow depth on the ground surface (m)
+  mLayerVolFracLiq                => prog_data%var(iLookPROG%mLayerVolFracLiq)%dat,                  & ! intent(in): [dp(:)] volumetric fraction of liquid water in each layer (-)
+  mLayerMatricHead                => prog_data%var(iLookPROG%mLayerMatricHead)%dat,                  & ! intent(in): [dp(:)] matric head in each soil layer (m)
+  localAquiferStorage             => prog_data%var(iLookPROG%scalarAquiferStorage)%dat(1),           & ! intent(in): [dp]    aquifer storage for the local column (m)
+  basinAquiferStorage             => bvar_data%var(iLookBVAR%basin__AquiferStorage)%dat(1),          & ! intent(in): [dp]    aquifer storage for the single basin (m)
+
+  ! input: shortwave radiation fluxes
+  scalarCanopySunlitLAI           => diag_data%var(iLookDIAG%scalarCanopySunlitLAI)%dat(1),          & ! intent(in): [dp] sunlit leaf area (-)
+  scalarCanopyShadedLAI           => diag_data%var(iLookDIAG%scalarCanopyShadedLAI)%dat(1),          & ! intent(in): [dp] shaded leaf area (-)
+  scalarCanopySunlitPAR           => flux_data%var(iLookFLUX%scalarCanopySunlitPAR)%dat(1),          & ! intent(in): [dp] average absorbed par for sunlit leaves (w m-2)
+  scalarCanopyShadedPAR           => flux_data%var(iLookFLUX%scalarCanopyShadedPAR)%dat(1),          & ! intent(in): [dp] average absorbed par for shaded leaves (w m-2)
+  scalarCanopyAbsorbedSolar       => flux_data%var(iLookFLUX%scalarCanopyAbsorbedSolar)%dat(1),      & ! intent(in): [dp] solar radiation absorbed by canopy (W m-2)
+  scalarGroundAbsorbedSolar       => flux_data%var(iLookFLUX%scalarGroundAbsorbedSolar)%dat(1),      & ! intent(in): [dp] solar radiation absorbed by ground (W m-2)
+
+  ! output: fraction of wetted canopy area and fraction of snow on the ground
+  scalarCanopyWetFraction         => diag_data%var(iLookDIAG%scalarCanopyWetFraction)%dat(1),        & ! intent(out): [dp] fraction of canopy that is wet
+  scalarGroundSnowFraction        => diag_data%var(iLookDIAG%scalarGroundSnowFraction)%dat(1),       & ! intent(out): [dp] fraction of ground covered with snow (-)
+
+  ! output: longwave radiation fluxes
+  scalarCanopyEmissivity          => diag_data%var(iLookDIAG%scalarCanopyEmissivity)%dat(1),         & ! intent(out): [dp] effective emissivity of the canopy (-)
+  scalarLWRadCanopy               => flux_data%var(iLookFLUX%scalarLWRadCanopy)%dat(1),              & ! intent(out): [dp] longwave radiation emitted from the canopy (W m-2)
+  scalarLWRadGround               => flux_data%var(iLookFLUX%scalarLWRadGround)%dat(1),              & ! intent(out): [dp] longwave radiation emitted at the ground surface (W m-2)
+  scalarLWRadUbound2Canopy        => flux_data%var(iLookFLUX%scalarLWRadUbound2Canopy)%dat(1),       & ! intent(out): [dp] downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+  scalarLWRadUbound2Ground        => flux_data%var(iLookFLUX%scalarLWRadUbound2Ground)%dat(1),       & ! intent(out): [dp] downward atmospheric longwave radiation absorbed by the ground (W m-2)
+  scalarLWRadUbound2Ubound        => flux_data%var(iLookFLUX%scalarLWRadUbound2Ubound)%dat(1),       & ! intent(out): [dp] atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+  scalarLWRadCanopy2Ubound        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Ubound)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+  scalarLWRadCanopy2Ground        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Ground)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from canopy absorbed by the ground (W m-2)
+  scalarLWRadCanopy2Canopy        => flux_data%var(iLookFLUX%scalarLWRadCanopy2Canopy)%dat(1),       & ! intent(out): [dp] canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+  scalarLWRadGround2Ubound        => flux_data%var(iLookFLUX%scalarLWRadGround2Ubound)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from ground lost thru upper boundary (W m-2)
+  scalarLWRadGround2Canopy        => flux_data%var(iLookFLUX%scalarLWRadGround2Canopy)%dat(1),       & ! intent(out): [dp] longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+  scalarLWNetCanopy               => flux_data%var(iLookFLUX%scalarLWNetCanopy)%dat(1),              & ! intent(out): [dp] net longwave radiation at the canopy (W m-2)
+  scalarLWNetGround               => flux_data%var(iLookFLUX%scalarLWNetGround)%dat(1),              & ! intent(out): [dp] net longwave radiation at the ground surface (W m-2)
+  scalarLWNetUbound               => flux_data%var(iLookFLUX%scalarLWNetUbound)%dat(1),              & ! intent(out): [dp] net longwave radiation at the upper boundary (W m-2)
+
+  ! output: aerodynamic resistance
+  scalarZ0Canopy                  => diag_data%var(iLookDIAG%scalarZ0Canopy)%dat(1),                 & ! intent(out): [dp] roughness length of the canopy (m)
+  scalarWindReductionFactor       => diag_data%var(iLookDIAG%scalarWindReductionFactor)%dat(1),      & ! intent(out): [dp] canopy wind reduction factor (-)
+  scalarZeroPlaneDisplacement     => diag_data%var(iLookDIAG%scalarZeroPlaneDisplacement)%dat(1),    & ! intent(out): [dp] zero plane displacement (m)
+  scalarRiBulkCanopy              => diag_data%var(iLookDIAG%scalarRiBulkCanopy)%dat(1),             & ! intent(out): [dp] bulk Richardson number for the canopy (-)
+  scalarRiBulkGround              => diag_data%var(iLookDIAG%scalarRiBulkGround)%dat(1),             & ! intent(out): [dp] bulk Richardson number for the ground surface (-)
+  scalarEddyDiffusCanopyTop       => flux_data%var(iLookFLUX%scalarEddyDiffusCanopyTop)%dat(1),      & ! intent(out): [dp] eddy diffusivity for heat at the top of the canopy (m2 s-1)
+  scalarFrictionVelocity          => flux_data%var(iLookFLUX%scalarFrictionVelocity)%dat(1),         & ! intent(out): [dp] friction velocity (m s-1)
+  scalarWindspdCanopyTop          => flux_data%var(iLookFLUX%scalarWindspdCanopyTop)%dat(1),         & ! intent(out): [dp] windspeed at the top of the canopy (m s-1)
+  scalarWindspdCanopyBottom       => flux_data%var(iLookFLUX%scalarWindspdCanopyBottom)%dat(1),      & ! intent(out): [dp] windspeed at the height of the bottom of the canopy (m s-1)
+  scalarLeafResistance            => flux_data%var(iLookFLUX%scalarLeafResistance)%dat(1),           & ! intent(out): [dp] mean leaf boundary layer resistance per unit leaf area (s m-1)
+  scalarGroundResistance          => flux_data%var(iLookFLUX%scalarGroundResistance)%dat(1),         & ! intent(out): [dp] below canopy aerodynamic resistance (s m-1)
+  scalarCanopyResistance          => flux_data%var(iLookFLUX%scalarCanopyResistance)%dat(1),         & ! intent(out): [dp] above canopy aerodynamic resistance (s m-1)
+
+  ! input/output: soil resistance -- intent(in) and intent(inout) because only called at the first flux call
+  mLayerRootDensity               => diag_data%var(iLookDIAG%mLayerRootDensity)%dat,                 & ! intent(in):    [dp] root density in each layer (-)
+  scalarAquiferRootFrac           => diag_data%var(iLookDIAG%scalarAquiferRootFrac)%dat(1),          & ! intent(in):    [dp] fraction of roots below the lowest soil layer (-)
+  scalarTranspireLim              => diag_data%var(iLookDIAG%scalarTranspireLim)%dat(1),             & ! intent(inout): [dp] weighted average of the transpiration limiting factor (-)
+  mLayerTranspireLim              => diag_data%var(iLookDIAG%mLayerTranspireLim)%dat,                & ! intent(inout): [dp] transpiration limiting factor in each layer (-)
+  scalarTranspireLimAqfr          => diag_data%var(iLookDIAG%scalarTranspireLimAqfr)%dat(1),         & ! intent(inout): [dp] transpiration limiting factor for the aquifer (-)
+  scalarSoilRelHumidity           => diag_data%var(iLookDIAG%scalarSoilRelHumidity)%dat(1),          & ! intent(inout): [dp] relative humidity in the soil pores [0-1]
+  scalarSoilResistance            => flux_data%var(iLookFLUX%scalarSoilResistance)%dat(1),           & ! intent(inout): [dp] resistance from the soil (s m-1)
+
+  ! input/output: stomatal resistance -- intent(inout) because only called at the first flux call
+  scalarStomResistSunlit          => flux_data%var(iLookFLUX%scalarStomResistSunlit)%dat(1),         & ! intent(inout): [dp] stomatal resistance for sunlit leaves (s m-1)
+  scalarStomResistShaded          => flux_data%var(iLookFLUX%scalarStomResistShaded)%dat(1),         & ! intent(inout): [dp] stomatal resistance for shaded leaves (s m-1)
+  scalarPhotosynthesisSunlit      => flux_data%var(iLookFLUX%scalarPhotosynthesisSunlit)%dat(1),     & ! intent(inout): [dp] sunlit photosynthesis (umolco2 m-2 s-1)
+  scalarPhotosynthesisShaded      => flux_data%var(iLookFLUX%scalarPhotosynthesisShaded)%dat(1),     & ! intent(inout): [dp] shaded photosynthesis (umolco2 m-2 s-1)
+
+  ! output: turbulent heat fluxes
+  scalarLatHeatSubVapCanopy       => diag_data%var(iLookDIAG%scalarLatHeatSubVapCanopy)%dat(1),      & ! intent(inout): [dp] latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+  scalarLatHeatSubVapGround       => diag_data%var(iLookDIAG%scalarLatHeatSubVapGround)%dat(1),      & ! intent(inout): [dp] latent heat of sublimation/vaporization for the ground surface (J kg-1)
+  scalarSatVP_canopyTemp          => diag_data%var(iLookDIAG%scalarSatVP_CanopyTemp)%dat(1),         & ! intent(out):   [dp] saturation vapor pressure at the temperature of the vegetation canopy (Pa)
+  scalarSatVP_groundTemp          => diag_data%var(iLookDIAG%scalarSatVP_GroundTemp)%dat(1),         & ! intent(out):   [dp] saturation vapor pressure at the temperature of the ground surface (Pa)
+  scalarSenHeatTotal              => flux_data%var(iLookFLUX%scalarSenHeatTotal)%dat(1),             & ! intent(out):   [dp] sensible heat from the canopy air space to the atmosphere (W m-2)
+  scalarSenHeatCanopy             => flux_data%var(iLookFLUX%scalarSenHeatCanopy)%dat(1),            & ! intent(out):   [dp] sensible heat flux from the canopy to the canopy air space (W m-2)
+  scalarSenHeatGround             => flux_data%var(iLookFLUX%scalarSenHeatGround)%dat(1),            & ! intent(out):   [dp] sensible heat flux from ground surface below vegetation (W m-2)
+  scalarLatHeatTotal              => flux_data%var(iLookFLUX%scalarLatHeatTotal)%dat(1),             & ! intent(out):   [dp] latent heat from the canopy air space to the atmosphere (W m-2)
+  scalarLatHeatCanopyEvap         => flux_data%var(iLookFLUX%scalarLatHeatCanopyEvap)%dat(1),        & ! intent(out):   [dp] latent heat flux for evaporation from the canopy to the canopy air space (W m-2)
+  scalarLatHeatCanopyTrans        => flux_data%var(iLookFLUX%scalarLatHeatCanopyTrans)%dat(1),       & ! intent(out):   [dp] latent heat flux for transpiration from the canopy to the canopy air space (W m-2)
+  scalarLatHeatGround             => flux_data%var(iLookFLUX%scalarLatHeatGround)%dat(1),            & ! intent(out):   [dp] latent heat flux from ground surface below vegetation (W m-2)
+
+  ! output: advective heat fluxes
+  scalarCanopyAdvectiveHeatFlux   => flux_data%var(iLookFLUX%scalarCanopyAdvectiveHeatFlux)%dat(1),  & ! intent(out): [dp] heat advected to the canopy surface with rain + snow (W m-2)
+  scalarGroundAdvectiveHeatFlux   => flux_data%var(iLookFLUX%scalarGroundAdvectiveHeatFlux)%dat(1),  & ! intent(out): [dp] heat advected to the ground surface with throughfall (W m-2)
+
+  ! output: mass fluxes
+  scalarCanopySublimation         => flux_data%var(iLookFLUX%scalarCanopySublimation)%dat(1),        & ! intent(out): [dp] canopy sublimation/frost (kg m-2 s-1)
+  scalarSnowSublimation           => flux_data%var(iLookFLUX%scalarSnowSublimation)%dat(1),          & ! intent(out): [dp] snow sublimation/frost -- below canopy or non-vegetated (kg m-2 s-1)
+
+  ! input/output: canopy air space variables
+  scalarVP_CanopyAir              => diag_data%var(iLookDIAG%scalarVP_CanopyAir)%dat(1),             & ! intent(inout): [dp] vapor pressure of the canopy air space (Pa)
+  scalarCanopyStabilityCorrection => diag_data%var(iLookDIAG%scalarCanopyStabilityCorrection)%dat(1),& ! intent(inout): [dp] stability correction for the canopy (-)
+  scalarGroundStabilityCorrection => diag_data%var(iLookDIAG%scalarGroundStabilityCorrection)%dat(1),& ! intent(inout): [dp] stability correction for the ground surface (-)
+
+  ! output: liquid water fluxes
+  scalarCanopyTranspiration       => flux_data%var(iLookFLUX%scalarCanopyTranspiration)%dat(1),      & ! intent(out): [dp] canopy transpiration (kg m-2 s-1)
+  scalarCanopyEvaporation         => flux_data%var(iLookFLUX%scalarCanopyEvaporation)%dat(1),        & ! intent(out): [dp] canopy evaporation/condensation (kg m-2 s-1)
+  scalarGroundEvaporation         => flux_data%var(iLookFLUX%scalarGroundEvaporation)%dat(1),        & ! intent(out): [dp] ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+
+  ! output: derived fluxes
+  scalarTotalET                   => flux_data%var(iLookFLUX%scalarTotalET)%dat(1),                  & ! intent(out): [dp] total ET (kg m-2 s-1)
+  scalarNetRadiation              => flux_data%var(iLookFLUX%scalarNetRadiation)%dat(1)              & ! intent(out): [dp] net radiation (W m-2)
+  )
+ ! ---------------------------------------------------------------------------------------
+ ! initialize error control
+ err=0; message="vegNrgFlux/"
+
+ ! initialize printflag
+ printflag = .false.
+
+ ! identify the type of boundary condition for thermodynamics
+ select case(ix_bcUpprTdyn)
+
+  ! *****
+  ! (1) DIRICHLET OR ZERO FLUX BOUNDARY CONDITION...
+  ! ************************************************
+
+  ! NOTE: Vegetation fluxes are not computed in this case
+
+  ! ** prescribed temperature or zero flux at the upper boundary of the snow-soil system
+  case(prescribedTemp,zeroFlux)
+
+    ! derived fluxes
+    scalarTotalET             = 0._dp    ! total ET (kg m-2 s-1)
+    scalarNetRadiation        = 0._dp    ! net radiation (W m-2)
+    ! liquid water fluxes associated with evaporation/transpiration
+    scalarCanopyTranspiration = 0._dp    ! canopy transpiration (kg m-2 s-1)
+    scalarCanopyEvaporation   = 0._dp    ! canopy evaporation/condensation (kg m-2 s-1)
+    scalarGroundEvaporation   = 0._dp    ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+    ! solid water fluxes associated with sublimation/frost
+    scalarCanopySublimation   = 0._dp    ! sublimation from the vegetation canopy ((kg m-2 s-1)
+    scalarSnowSublimation     = 0._dp    ! sublimation from the snow surface ((kg m-2 s-1)
+    ! set canopy fluxes to zero (no canopy)
+    canairNetFlux             = 0._dp    ! net energy flux for the canopy air space (W m-2)
+    canopyNetFlux             = 0._dp    ! net energy flux for the vegetation canopy (W m-2)
+    ! set canopy derivatives to zero
+    dCanairNetFlux_dCanairTemp = 0._dp   ! derivative in net canopy air space flux w.r.t. canopy air temperature (W m-2 K-1)
+    dCanairNetFlux_dCanopyTemp = 0._dp   ! derivative in net canopy air space flux w.r.t. canopy temperature (W m-2 K-1)
+    dCanairNetFlux_dGroundTemp = 0._dp   ! derivative in net canopy air space flux w.r.t. ground temperature (W m-2 K-1)
+    dCanopyNetFlux_dCanairTemp = 0._dp   ! derivative in net canopy flux w.r.t. canopy air temperature (W m-2 K-1)
+    dCanopyNetFlux_dCanopyTemp = 0._dp   ! derivative in net canopy flux w.r.t. canopy temperature (W m-2 K-1)
+    dCanopyNetFlux_dGroundTemp = 0._dp   ! derivative in net canopy flux w.r.t. ground temperature (W m-2 K-1)
+    dGroundNetFlux_dCanairTemp = 0._dp   ! derivative in net ground flux w.r.t. canopy air temperature (W m-2 K-1)
+    dGroundNetFlux_dCanopyTemp = 0._dp   ! derivative in net ground flux w.r.t. canopy temperature (W m-2 K-1)
+    ! set liquid flux derivatives to zero (canopy evap)
+    dCanopyEvaporation_dCanWat = 0._dp   ! derivative in canopy evaporation w.r.t. canopy liquid water content (s-1)
+    dCanopyEvaporation_dTCanair= 0._dp   ! derivative in canopy evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+    dCanopyEvaporation_dTCanopy= 0._dp   ! derivative in canopy evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+    dCanopyEvaporation_dTGround= 0._dp   ! derivative in canopy evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+    ! set liquid flux derivatives to zero (ground evap)
+    dGroundEvaporation_dCanWat = 0._dp   ! derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
+    dGroundEvaporation_dTCanair= 0._dp   ! derivative in ground evaporation w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+    dGroundEvaporation_dTCanopy= 0._dp   ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
+    dGroundEvaporation_dTGround= 0._dp   ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
+      ! set transpiration derivatives to zero
+    dCanopyTrans_dCanWat       = 0._dp   ! derivative in canopy transpiration w.r.t. canopy total water content (s-1)
+    dCanopyTrans_dTCanair      = 0._dp   ! derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
+    dCanopyTrans_dTCanopy      = 0._dp   ! derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
+    dCanopyTrans_dTGround      = 0._dp   ! derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
+
+    ! compute fluxes and derivatives -- separate approach for prescribed temperature and zero flux
+    if(ix_bcUpprTdyn == prescribedTemp)then
+      ! compute ground net flux (W m-2)
+      groundNetFlux = -diag_data%var(iLookDIAG%iLayerThermalC)%dat(0)*(groundTempTrial - upperBoundTemp)/(prog_data%var(iLookPROG%mLayerDepth)%dat(1)*0.5_dp)
+      ! compute derivative in net ground flux w.r.t. ground temperature (W m-2 K-1)
+      ! dGroundNetFlux_dGroundTemp = -diag_data%var(iLookDIAG%iLayerThermalC)%dat(0)/(prog_data%var(iLookPROG%mLayerDepth)%dat(1)*0.5_dp)
+    elseif(ix_bcUpprTdyn == zeroFlux)then
+      groundNetFlux              = 0._dp
+      ! dGroundNetFlux_dGroundTemp = 0._dp
+    else
+      err=20; 
+      message=trim(message)//'unable to identify upper boundary condition for thermodynamics: expect the case to be prescribedTemp or zeroFlux'
+      print*, message
+      return
+    end if
+
+    ! *****
+    ! (2) NEUMANN BOUNDARY CONDITION...
+    ! *********************************
+
+    ! NOTE 1: This is the main routine for calculating vegetation fluxes
+    ! NOTE 2: This routine also calculates surface fluxes for the case where vegetation is buried with snow (or bare soil)
+
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! ***** PRELIMINARIES  **********************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+
+    ! * flux boundary condition
+  case(energyFlux)
+
+    ! identify the appropriate groundwater variable
+    select case(ix_spatial_gw)
+      case(singleBasin); scalarAquiferStorage = basinAquiferStorage
+      case(localColumn); scalarAquiferStorage = localAquiferStorage
+      case default
+        err=20
+        message=trim(message)//'unable to identify spatial representation of groundwater'
+        print*, message
+        return
+    end select ! (modify the groundwater representation for this single-column implementation)
+
+    ! set canopy stability corrections to the previous values
+    scalarCanopyStabilityCorrection_old = scalarCanopyStabilityCorrection       ! stability correction for the canopy (-)
+    scalarGroundStabilityCorrection_old = scalarGroundStabilityCorrection       ! stability correction for the ground surface (-)
+
+    ! initialize variables to compute stomatal resistance
+    if(firstFluxCall .and. firstSubStep)then
+      ! vapor pressure in the canopy air space initialized as vapor pressure of air above the vegetation canopy
+      ! NOTE: this is needed for the stomatal resistance calculations
+      if(scalarVP_CanopyAir < 0._dp)then
+      scalarVP_CanopyAir    = scalarVPair - 1._dp    ! "small" offset used to assist in checking initial derivative calculations
+      end if
+    end if
+
+    ! set latent heat of sublimation/vaporization for canopy and ground surface (Pa/K)
+    ! NOTE: variables are constant over the substep, to simplify relating energy and mass fluxes
+    if(firstFluxCall)then
+      scalarLatHeatSubVapCanopy = getLatentHeatValue(canopyTempTrial)
+      ! case when there is snow on the ground (EXCLUDE "snow without a layer" -- in this case, evaporate from the soil)
+      if(nSnow > 0)then
+        if(groundTempTrial > Tfreeze)then; err=20; message=trim(message)//'do not expect ground temperature > 0 when snow is on the ground'; return; end if
+        scalarLatHeatSubVapGround = LH_sub  ! sublimation from snow
+        scalarGroundSnowFraction  = 1._dp
+        ! case when the ground is snow-free
+      else
+        scalarLatHeatSubVapGround = LH_vap  ! evaporation of water in the soil pores: this occurs even if frozen because of super-cooled water
+        scalarGroundSnowFraction  = 0._dp
+      end if  ! (if there is snow on the ground)
+    end if  ! (if the first flux call)
+    !write(*,'(a,1x,10(f30.10,1x))') 'groundTempTrial, scalarLatHeatSubVapGround = ', groundTempTrial, scalarLatHeatSubVapGround
+
+    ! compute the roughness length of the ground (ground below the canopy or non-vegetated surface)
+    z0Ground = z0soil*(1._dp - scalarGroundSnowFraction) + z0Snow*scalarGroundSnowFraction     ! roughness length (m)
+
+    ! compute the total vegetation area index (leaf plus stem)
+    VAI        = scalarLAI + scalarSAI  ! vegetation area index
+
+    exposedVAI = scalarExposedLAI + scalarExposedSAI  !  exposed vegetation area index
+
+    ! compute emissivity of the canopy (-)
+    if(computeVegFlux)then
+      select case(ix_canopyEmis)
+        ! *** simple exponential function
+        case(simplExp)
+          scalarCanopyEmissivity = 1._dp - exp(-exposedVAI)                                     ! effective emissivity of the canopy (-)
+        ! *** canopy emissivity parameterized as a function of diffuse transmissivity
+        case(difTrans)
+          ! compute the exponential integral
+          scaleLAI = 0.5_dp*exposedVAI
+          expi     = expInt(scaleLAI)
+          ! compute diffuse transmissivity (-)
+          diffuseTrans = (1._dp - scaleLAI)*exp(-scaleLAI) + (scaleLAI**2._dp)*expi
+          ! compute the canopy emissivity
+          scalarCanopyEmissivity = (1._dp - diffuseTrans)*vegEmissivity
+          ! *** check we found the correct option
+        case default
+          err=20
+          message=trim(message)//'unable to identify option for canopy emissivity'
+          print*, message
+          return
+      end select
+    end if
+
+    ! ensure canopy longwave fluxes are zero when not computing canopy fluxes
+    if(.not.computeVegFlux) scalarCanopyEmissivity=0._dp
+
+    ! compute emissivity of the ground surface (-)
+    groundEmissivity = scalarGroundSnowFraction*snowEmissivity + (1._dp - scalarGroundSnowFraction)*soilEmissivity  ! emissivity of the ground surface (-)
+
+    ! compute the fraction of canopy that is wet
+    ! NOTE: we either sublimate or evaporate over the entire substep
+    if(computeVegFlux)then
+
+      ! compute the fraction of liquid water in the canopy (-)
+      totalCanopyWater = canopyLiqTrial + canopyIceTrial
+      if(totalCanopyWater > tiny(1.0_dp))then
+        fracLiquidCanopy = canopyLiqTrial / (canopyLiqTrial + canopyIceTrial)
+      else
+        fracLiquidCanopy = 0._dp
+      end if
+
+      ! get wetted fraction and derivatives
+      call wettedFrac(&
+                      ! input
+                      .true.,                                         & ! flag to denote if derivative is desired
+                      (ix_fDerivMeth == numerical),                   & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+                      (scalarLatHeatSubVapCanopy > LH_vap+verySmall), & ! flag to denote if the canopy is frozen
+                      dCanLiq_dTcanopy,                               & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+                      fracLiquidCanopy,                               & ! fraction of liquid water on the canopy (-)
+                      canopyLiqTrial,                                 & ! canopy liquid water (kg m-2)
+                      canopyIceTrial,                                 & ! canopy ice (kg m-2)
+                      scalarCanopyLiqMax,                             & ! maximum canopy liquid water (kg m-2)
+                      scalarCanopyIceMax,                             & ! maximum canopy ice content (kg m-2)
+                      canopyWettingFactor,                            & ! maximum wetted fraction of the canopy (-)
+                      canopyWettingExp,                               & ! exponent in canopy wetting function (-)
+                      ! output
+                      scalarCanopyWetFraction,                        & ! canopy wetted fraction (-)
+                      dCanopyWetFraction_dWat,                        & ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+                      dCanopyWetFraction_dT,                          & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                      err,cmessage)
+      if(err/=0)then
+        message=trim(message)//trim(cmessage)
+        print*, message
+        return
+      end if
+
+    else
+      scalarCanopyWetFraction = 0._dp  ! canopy wetted fraction (-)
+      dCanopyWetFraction_dWat = 0._dp  ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+      dCanopyWetFraction_dT   = 0._dp  ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+    end if
+    !write(*,'(a,1x,L1,1x,f25.15,1x))') 'computeVegFlux, scalarCanopyWetFraction = ', computeVegFlux, scalarCanopyWetFraction
+
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! ***** AERODYNAMIC RESISTANCE *****************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+
+    ! NOTE: compute for all iterations
+
+    ! compute aerodynamic resistances
+    ! Refs: Choudhury and Monteith (4-layer model for heat budget of homogenous surfaces; QJRMS, 1988)
+    !       Niu and Yang (Canopy effects on snow processes; JGR, 2004)
+    !       Mahat et al. (Below-canopy turbulence in a snowmelt model, WRR, 2012)
+    call aeroResist(&
+                    ! input: model control
+                    computeVegFlux,                     & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                    (ix_fDerivMeth == analytical),      & ! intent(in): logical flag if would like to compute analytical derivaties
+                    ix_veg_traits,                      & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
+                    ix_windPrfile,                      & ! intent(in): choice of canopy wind profile
+                    ix_astability,                      & ! intent(in): choice of stability function
+                    ! input: above-canopy forcing data
+                    mHeight,                            & ! intent(in): measurement height (m)
+                    airtemp,                            & ! intent(in): air temperature at some height above the surface (K)
+                    windspd,                            & ! intent(in): wind speed at some height above the surface (m s-1)
+                    ! input: canopy and ground temperature
+                    canairTempTrial,                    & ! intent(in): temperature of the canopy air space (K)
+                    groundTempTrial,                    & ! intent(in): temperature of the ground surface (K)
+                    ! input: diagnostic variables
+                    exposedVAI,                         & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                    scalarSnowDepth,                    & ! intent(in): snow depth (m)
+                    ! input: parameters
+                    z0Ground,                           & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+                    z0CanopyParam,                      & ! intent(in): roughness length of the canopy (m)
+                    zpdFraction,                        & ! intent(in): zero plane displacement / canopy height (-)
+                    critRichNumber,                     & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
+                    Louis79_bparam,                     & ! intent(in): parameter in Louis (1979) stability function
+                    Mahrt87_eScale,                     & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
+                    windReductionParam,                 & ! intent(in): canopy wind reduction parameter (-)
+                    leafExchangeCoeff,                  & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+                    leafDimension,                      & ! intent(in): characteristic leaf dimension (m)
+                    heightCanopyTop,                    & ! intent(in): height at the top of the vegetation canopy (m)
+                    heightCanopyBottom,                 & ! intent(in): height at the bottom of the vegetation canopy (m)
+                    ! output: stability corrections
+                    scalarRiBulkCanopy,                 & ! intent(out): bulk Richardson number for the canopy (-)
+                    scalarRiBulkGround,                 & ! intent(out): bulk Richardson number for the ground surface (-)
+                    scalarCanopyStabilityCorrection,    & ! intent(out): stability correction for the canopy (-)
+                    scalarGroundStabilityCorrection,    & ! intent(out): stability correction for the ground surface (-)
+                    ! output: scalar resistances
+                    scalarZ0Canopy,                     & ! intent(out): roughness length of the canopy (m)
+                    scalarWindReductionFactor,          & ! intent(out): canopy wind reduction factor (-)
+                    scalarZeroPlaneDisplacement,        & ! intent(out): zero plane displacement (m)
+                    scalarEddyDiffusCanopyTop,          & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
+                    scalarFrictionVelocity,             & ! intent(out): friction velocity (m s-1)
+                    scalarWindspdCanopyTop,             & ! intent(out): windspeed at the top of the canopy (m s-1)
+                    scalarWindspdCanopyBottom,          & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
+                    scalarLeafResistance,               & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                    scalarGroundResistance,             & ! intent(out): below canopy aerodynamic resistance (s m-1)
+                    scalarCanopyResistance,             & ! intent(out): above canopy aerodynamic resistance (s m-1)
+                    ! output: derivatives in scalar resistances
+                    dGroundResistance_dTGround,         & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                    dGroundResistance_dTCanopy,         & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                    dGroundResistance_dTCanair,         & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                    dCanopyResistance_dTCanopy,         & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                    dCanopyResistance_dTCanair,         & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                    ! output: error control
+                    err,cmessage                        ) ! intent(out): error control
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    end if
+    !print*,         scalarLeafResistance,    & ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+    !                scalarGroundResistance,  & ! below canopy aerodynamic resistance (s m-1)
+    !                scalarCanopyResistance,  & ! above canopy aerodynamic resistance (s m-1)
+    !                '(leaf, ground, canopy)'
+
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! ***** STOMATAL RESISTANCE *****************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+
+    ! stomatal resistance is constant over the SUBSTEP
+    ! NOTE: This is a simplification, as stomatal resistance does depend on canopy temperature
+    !       This "short-cut" made because:
+    !         (1) computations are expensive;
+    !         (2) derivative calculations are rather complex (iterations within the Ball-Berry routine); and
+    !         (3) stomatal resistance does not change rapidly
+    if(firstFluxCall)then
+
+      ! compute the saturation vapor pressure for vegetation temperature
+      TV_celcius = canopyTempTrial - Tfreeze
+      call satVapPress(TV_celcius, scalarSatVP_CanopyTemp, dSVPCanopy_dCanopyTemp)
+
+        ! compute soil moisture factor controlling stomatal resistance
+      call soilResist(&
+                      ! input (model decisions)
+                      ix_soilStress,                     & ! intent(in): choice of function for the soil moisture control on stomatal resistance
+                      ix_groundwatr,                     & ! intent(in): groundwater parameterization
+                      ! input (state variables)
+                      mLayerMatricHead(1:nSoil),         & ! intent(in): matric head in each soil layer (m)
+                      mLayerVolFracLiq(nSnow+1:nLayers), & ! intent(in): volumetric fraction of liquid water in each soil layer (-)
+                      scalarAquiferStorage,              & ! intent(in): aquifer storage (m)
+                      ! input (diagnostic variables)
+                      mLayerRootDensity(1:nSoil),        & ! intent(in): root density in each layer (-)
+                      scalarAquiferRootFrac,             & ! intent(in): fraction of roots below the lowest soil layer (-)
+                      ! input (parameters)
+                      plantWiltPsi,                      & ! intent(in): matric head at wilting point (m)
+                      soilStressParam,                   & ! intent(in): parameter in the exponential soil stress function (-)
+                      critSoilWilting,                   & ! intent(in): critical vol. liq. water content when plants are wilting (-)
+                      critSoilTranspire,                 & ! intent(in): critical vol. liq. water content when transpiration is limited (-)
+                      critAquiferTranspire,              & ! intent(in): critical aquifer storage value when transpiration is limited (m)
+                      ! output
+                      scalarTranspireLim,                & ! intent(out): weighted average of the transpiration limiting factor (-)
+                      mLayerTranspireLim(1:nSoil),       & ! intent(out): transpiration limiting factor in each layer (-)
+                      scalarTranspireLimAqfr,            & ! intent(out): transpiration limiting factor for the aquifer (-)
+                      err,cmessage                       ) ! intent(out): error control
+      if(err/=0)then
+        message=trim(message)//trim(cmessage)
+        print*, message
+        return 
+      end if
+      !print*, 'weighted average of the soil moiture factor controlling stomatal resistance (-) = ', scalarTranspireLim
+
+      !write(*,'(a,1x,10(f20.10,1x))') 'canopyTempTrial, scalarSatVP_CanopyTemp, scalarVP_CanopyAir = ', &
+      !                                 canopyTempTrial, scalarSatVP_CanopyTemp, scalarVP_CanopyAir
+
+      ! compute stomatal resistance
+      call stomResist(&
+                      ! input (state and diagnostic variables)
+                      canopyTempTrial,                   & ! intent(in): temperature of the vegetation canopy (K)
+                      scalarSatVP_CanopyTemp,            & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
+                      scalarVP_CanopyAir,                & ! intent(in): canopy air vapor pressure (Pa)
+                      ! input: data structures
+                      type_data,                         & ! intent(in):    type of vegetation and soil
+                      forc_data,                         & ! intent(in):    model forcing data
+                      mpar_data,                         & ! intent(in):    model parameters
+                      model_decisions,                   & ! intent(in):    model decisions
+                      ! input-output: data structures
+                      diag_data,                         & ! intent(inout): model diagnostic variables for a local HRU
+                      flux_data,                         & ! intent(inout): model fluxes for a local HRU
+                      ! output: error control
+                      err,cmessage                       ) ! intent(out): error control
+      if(err/=0)then
+        message=trim(message)//trim(cmessage)
+        print*, message
+        return
+      end if
+
+    end if  ! (if the first flux call in a given sub-step)
+
+
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! ***** LONGWAVE RADIATION  *****************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+
+    ! compute canopy longwave radiation balance
+    call longwaveBal(&
+                      ! input: model control
+                      ix_fDerivMeth,                     & ! intent(in): method used to calculate flux derivatives
+                      computeVegFlux,                    & ! intent(in): flag to compute fluxes over vegetation
+                      requireLWBal,                      & ! intent(in): flag to indicate if we need longwave to be balanced
+                      ! input: canopy and ground temperature
+                      canopyTempTrial,                   & ! intent(in): temperature of the vegetation canopy (K)
+                      groundTempTrial,                   & ! intent(in): temperature of the ground surface (K)
+                      ! input: canopy and ground emissivity
+                      scalarCanopyEmissivity,            & ! intent(in): canopy emissivity (-)
+                      groundEmissivity,                  & ! intent(in): ground emissivity (-)
+                      ! input: forcing
+                      LWRadAtm,                          & ! intent(in): downwelling longwave radiation at the upper boundary (W m-2)
+                      ! output: emitted radiation from the canopy and ground
+                      scalarLWRadCanopy,                 & ! intent(out): longwave radiation emitted from the canopy (W m-2)
+                      scalarLWRadGround,                 & ! intent(out): longwave radiation emitted at the ground surface (W m-2)
+                      ! output: individual fluxes
+                      scalarLWRadUbound2Canopy,          & ! intent(out): downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+                      scalarLWRadUbound2Ground,          & ! intent(out): downward atmospheric longwave radiation absorbed by the ground (W m-2)
+                      scalarLWRadUbound2Ubound,          & ! intent(out): atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+                      scalarLWRadCanopy2Ubound,          & ! intent(out): longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+                      scalarLWRadCanopy2Ground,          & ! intent(out): longwave radiation emitted from canopy absorbed by the ground (W m-2)
+                      scalarLWRadCanopy2Canopy,          & ! intent(out): canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+                      scalarLWRadGround2Ubound,          & ! intent(out): longwave radiation emitted from ground lost thru upper boundary (W m-2)
+                      scalarLWRadGround2Canopy,          & ! intent(out): longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+                      ! output: net fluxes
+                      scalarLWNetCanopy,                 & ! intent(out): net longwave radiation at the canopy (W m-2)
+                      scalarLWNetGround,                 & ! intent(out): net longwave radiation at the ground surface (W m-2)
+                      scalarLWNetUbound,                 & ! intent(out): net longwave radiation at the upper boundary (W m-2)
+                      ! output: flux derivatives
+                      dLWNetCanopy_dTCanopy,             & ! intent(out): derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+                      dLWNetGround_dTGround,             & ! intent(out): derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+                      dLWNetCanopy_dTGround,             & ! intent(out): derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+                      dLWNetGround_dTCanopy,             & ! intent(out): derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+                      ! output: error control
+                      err,cmessage                       ) ! intent(out): error control
+    if(err/=0)then
+      message=trim(message)//trim(cmessage)
+      print*, message
+      return
+    end if
+    !print*, 'dLWNetCanopy_dTGround = ', dLWNetCanopy_dTGround
+
+
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! ***** TURBULENT HEAT FLUXES  **************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+
+    ! check the need to compute numerical derivatives
+    if(ix_fDerivMeth == numerical)then
+      nFlux=5  ! compute the derivatives using one-sided finite differences
+    else
+      nFlux=1  ! compute analytical derivatives
+    end if
+
+    ! either one or multiple flux calls, depending on if using analytical or numerical derivatives
+    do itry=nFlux,1,-1  ! (work backwards to ensure all computed fluxes come from the un-perturbed case)
+
+      ! -------------------------------------------------------------------------------------
+      ! state perturbations for numerical deriavtives with one-sided finite differences
+      ! note: no perturbations performed using analytical derivatives (nFlux=1)
+      ! -------------------------------------------------------------------------------------
+
+      ! identify the type of perturbation
+      select case(itry)
+
+        ! un-perturbed case
+        case(unperturbed)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater
+          ! canopyWetFraction = scalarCanopyWetFraction
+
+        ! perturb ground temperature
+        case(perturbStateGround)
+          groundTemp        = groundTempTrial + dx
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater
+
+          ! canopyWetFraction = scalarCanopyWetFraction
+
+        ! perturb canopy temperature
+        case(perturbStateCanopy)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial + dx
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater
+
+            ! canopyWetFraction = scalarCanopyWetFraction
+
+        ! perturb canopy air temperature
+        case(perturbStateCanair)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial + dx
+          canopyWat         = totalCanopyWater
+
+            ! canopyWetFraction = scalarCanopyWetFraction
+
+        ! perturb canopy liquid water content
+        case(perturbStateCanWat)
+          groundTemp        = groundTempTrial
+          canopyTemp        = canopyTempTrial
+          canairTemp        = canairTempTrial
+          canopyWat         = totalCanopyWater + dx
+          
+        case default; 
+          err=10
+          message=trim(message)//"unknown perturbation"
+          print*, message
+          return
+
+      end select ! (type of perturbation)
+      
+      ! perturbations in canopy total water content affect canopy wetted fraction
+      if(itry == perturbStateCanopy .OR. itry == perturbStateCanWat)then
+             ! recalculate liquid and ice from total water
+        fracLiquidCanopy = fracliquid(canopyTemp,snowfrz_scale)
+        canopyLiq = fracLiquidCanopy*canopyWat
+        canopyIce = (1._rkind - fracLiquidCanopy)*canopyWat
+            
+        ! perturbations in canopy liquid water content affect canopy wetted fraction
+        if(computeVegFlux)then
+          call wettedFrac(&
+                          ! input
+                          .false.,                                        & ! flag to denote if derivative is desired
+                          (ix_fDerivMeth == numerical),                   & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+                          (scalarLatHeatSubVapCanopy > LH_vap+verySmall), & ! flag to denote if the canopy is frozen
+                          dCanLiq_dTcanopy,                               & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+                          fracLiquidCanopy,                               & ! fraction of liquid water on the canopy (-)
+                          canopyLiqTrial+dx,                              & ! canopy liquid water (kg m-2)
+                          canopyIceTrial,                                 & ! canopy ice (kg m-2)
+                          scalarCanopyLiqMax,                             & ! maximum canopy liquid water (kg m-2)
+                          scalarCanopyIceMax,                             & ! maximum canopy ice content (kg m-2)
+                          canopyWettingFactor,                            & ! maximum wetted fraction of the canopy (-)
+                          canopyWettingExp,                               & ! exponent in canopy wetting function (-)
+                          ! output
+                          canopyWetFraction,                              & ! canopy wetted fraction (-)
+                          dCanopyWetFraction_dWat,                        & ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+                          dCanopyWetFraction_dT,                          & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                          err,cmessage)
+          if(err/=0)then
+            message=trim(message)//trim(cmessage)
+            print*, message
+            return
+          end if
+
+        else
+          canopyWetFraction = 0._dp
+        end if ! (desired computing vegetation flux)
+      
+      end if ! (re-computing wetted fraction for perturbed cases)
+        !print*, 'wetted fraction derivative = ', (canopyWetFraction - scalarCanopyWetFraction)/dx
+        !pause
+        
+      ! check for an unknown perturbation
+
+
+      ! compute the saturation vapor pressure for vegetation temperature
+      ! NOTE: saturated vapor pressure derivatives don't seem that accurate....
+      TV_celcius = canopyTemp - Tfreeze
+      call satVapPress(TV_celcius, scalarSatVP_CanopyTemp, dSVPCanopy_dCanopyTemp)
+
+      ! compute the saturation vapor pressure for ground temperature
+      ! NOTE: saturated vapor pressure derivatives don't seem that accurate....
+      TG_celcius = groundTemp - Tfreeze
+      call satVapPress(TG_celcius, scalarSatVP_GroundTemp, dSVPGround_dGroundTemp)
+
+      ! -------------------------------------------------------------------------------------
+      ! calculation block (unperturbed fluxes returned [computed last])
+      ! -------------------------------------------------------------------------------------
+
+      ! re-compute aerodynamic resistances for perturbed cases
+      ! NOTE: unperturbed fluxes computed earlier, and not over-written
+      if(itry /= unperturbed)then
+        call aeroResist(&
+                        ! input: model control
+                        computeVegFlux,                          & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                        .false.,                                 & ! intent(in): logical flag if would like to compute analytical derivaties
+                        ix_veg_traits,                           & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
+                        ix_windPrfile,                           & ! intent(in): choice of canopy wind profile
+                        ix_astability,                           & ! intent(in): choice of stability function
+                        ! input: above-canopy forcing data
+                        mHeight,                                 & ! intent(in): measurement height (m)
+                        airtemp,                                 & ! intent(in): air temperature at some height above the surface (K)
+                        windspd,                                 & ! intent(in): wind speed at some height above the surface (m s-1)
+                        ! input: temperature (canopy, ground, canopy air space)
+                        canairTemp,                              & ! intent(in): temperature of the canopy air space (K)
+                        groundTemp,                              & ! intent(in): ground temperature (K)
+                        ! input: diagnostic variables
+                        exposedVAI,                              & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                        scalarSnowDepth,                         & ! intent(in): snow depth (m)
+                        ! input: parameters
+                        z0Ground,                                & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+                        z0CanopyParam,                           & ! intent(in): roughness length of the canopy (m)
+                        zpdFraction,                             & ! intent(in): zero plane displacement / canopy height (-)
+                        critRichNumber,                          & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
+                        Louis79_bparam,                          & ! intent(in): parameter in Louis (1979) stability function
+                        Mahrt87_eScale,                          & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
+                        windReductionParam,                      & ! intent(in): canopy wind reduction parameter (-)
+                        leafExchangeCoeff,                       & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+                        leafDimension,                           & ! intent(in): characteristic leaf dimension (m)
+                        heightCanopyTop,                         & ! intent(in): height at the top of the vegetation canopy (m)
+                        heightCanopyBottom,                      & ! intent(in): height at the bottom of the vegetation canopy (m)
+                        ! output: stability corrections
+                        notUsed_RiBulkCanopy,                    & ! intent(out): bulk Richardson number for the canopy (-)
+                        notUsed_RiBulkGround,                    & ! intent(out): bulk Richardson number for the ground surface (-)
+                        notUsed_scalarCanopyStabilityCorrection, & ! intent(out): stability correction for the canopy (-)
+                        notUsed_scalarGroundStabilityCorrection, & ! intent(out): stability correction for the ground surface (-)
+                        ! output: scalar resistances
+                        notUsed_z0Canopy,                        & ! intent(out): roughness length of the canopy (m)
+                        notUsed_WindReductionFactor,             & ! intent(out): canopy wind reduction factor (-)
+                        notUsed_ZeroPlaneDisplacement,           & ! intent(out): zero plane displacement (m)
+                        notUsed_EddyDiffusCanopyTop,             & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
+                        notUsed_FrictionVelocity,                & ! intent(out): friction velocity (m s-1)
+                        notUsed_WindspdCanopyTop,                & ! intent(out): windspeed at the top of the canopy (m s-1)
+                        notUsed_WindspdCanopyBottom,             & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
+                        trialLeafResistance,                     & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                        trialGroundResistance,                   & ! intent(out): below canopy aerodynamic resistance (s m-1)
+                        trialCanopyResistance,                   & ! intent(out): above canopy aerodynamic resistance (s m-1)
+                        ! output: derivatives in scalar resistances
+                        notUsed_dGroundResistance_dTGround,      & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                        notUsed_dGroundResistance_dTCanopy,      & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                        notUsed_dGroundResistance_dTCanair,      & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                        notUsed_dCanopyResistance_dTCanopy,      & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                        notUsed_dCanopyResistance_dTCanair,      & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                        ! output: error control
+                        err,cmessage                             ) ! intent(out): error control
+        if(err/=0)then
+          message=trim(message)//trim(cmessage)
+          print*, message
+          return
+        end if
+
+
+      ! assign scalar resistances for un-perturbed cases
+      else
+
+        trialLeafResistance   = scalarLeafResistance
+        trialGroundResistance = scalarGroundResistance
+        trialCanopyResistance = scalarCanopyResistance
+
+      end if  ! (re-computing resistances for perturbed cases)
+      !print*, 'trialLeafResistance = ', trialLeafResistance
+      !print*, 'trialGroundResistance = ', trialGroundResistance
+      !print*, 'trialCanopyResistance = ', trialCanopyResistance
+
+      ! compute the relative humidity in the top soil layer and the resistance at the ground surface
+      ! NOTE: computations are based on start-of-step values, so only compute for the first flux call
+      if(firstFluxCall)then
+        ! (soil water evaporation factor [0-1])
+        soilEvapFactor = mLayerVolFracLiq(nSnow+1)/(theta_sat - theta_res)
+        ! (resistance from the soil [s m-1])
+        scalarSoilResistance = scalarGroundSnowFraction*1._dp + (1._dp - scalarGroundSnowFraction)*EXP(8.25_dp - 4.225_dp*soilEvapFactor)  ! Sellers (1992)
+        !scalarSoilResistance = scalarGroundSnowFraction*0._dp + (1._dp - scalarGroundSnowFraction)*exp(8.25_dp - 6.0_dp*soilEvapFactor)    ! Niu adjustment to decrease resitance for wet soil
+        ! (relative humidity in the soil pores [0-1])
+        if(mLayerMatricHead(1) > -1.e+6_dp)then  ! avoid problems with numerical precision when soil is very dry
+          soilRelHumidity_noSnow = exp( (mLayerMatricHead(1)*gravity) / (groundTemp*R_wv) )
+        else
+          soilRelHumidity_noSnow = 0._dp
+        end if ! (if matric head is very low)
+        scalarSoilRelHumidity  = scalarGroundSnowFraction*1._dp + (1._dp - scalarGroundSnowFraction)*soilRelHumidity_noSnow
+        !print*, 'mLayerMatricHead(1), scalarSoilRelHumidity = ', mLayerMatricHead(1), scalarSoilRelHumidity
+      end if  ! (if the first flux call)
+
+      ! compute turbulent heat fluxes
+      call turbFluxes(&
+                      ! input: model control
+                      computeVegFlux,                       & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                      ix_fDerivMeth,                        & ! intent(in): method used to calculate flux derivatives
+                      ! input: above-canopy forcing data
+                      airtemp,                              & ! intent(in): air temperature at some height above the surface (K)
+                      airpres,                              & ! intent(in): air pressure of the air above the vegetation canopy (Pa)
+                      scalarVPair,                          & ! intent(in): vapor pressure of the air above the vegetation canopy (Pa)
+                      ! input: latent heat of sublimation/vaporization
+                      scalarLatHeatSubVapCanopy,            & ! intent(in): latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+                      scalarLatHeatSubVapGround,            & ! intent(in): latent heat of sublimation/vaporization for the ground surface (J kg-1)
+                      ! input: canopy/ground temperature and saturated vapor pressure
+                      canairTemp,                           & ! intent(in): temperature of the canopy air space (K)
+                      canopyTemp,                           & ! intent(in): canopy temperature (K)
+                      groundTemp,                           & ! intent(in): ground temperature (K)
+                      scalarSatVP_CanopyTemp,               & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
+                      scalarSatVP_GroundTemp,               & ! intent(in): saturation vapor pressure at the temperature of the ground (Pa)
+                      dSVPCanopy_dCanopyTemp,               & ! intent(in): derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
+                      dSVPGround_dGroundTemp,               & ! intent(in): derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
+                      ! input: diagnostic variables
+                      exposedVAI,                           & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                      canopyWetFraction,                    & ! intent(in): trial value for the fraction of canopy that is wet [0-1]
+                      dCanopyWetFraction_dWat,              & ! intent(in): derivative in the canopy wetted fraction w.r.t. total water content (kg-1 m-2)
+                      dCanopyWetFraction_dT,                & ! intent(in): derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                      scalarCanopySunlitLAI,                & ! intent(in): sunlit leaf area (-)
+                      scalarCanopyShadedLAI,                & ! intent(in): shaded leaf area (-)
+                      scalarSoilRelHumidity,                & ! intent(in): relative humidity in the soil pores [0-1]
+                      scalarSoilResistance,                 & ! intent(in): resistance from the soil (s m-1)
+                      trialLeafResistance,                  & ! intent(in): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                      trialGroundResistance,                & ! intent(in): below canopy aerodynamic resistance (s m-1)
+                      trialCanopyResistance,                & ! intent(in): above canopy aerodynamic resistance (s m-1)
+                      scalarStomResistSunlit,               & ! intent(in): stomatal resistance for sunlit leaves (s m-1)
+                      scalarStomResistShaded,               & ! intent(in): stomatal resistance for shaded leaves (s m-1)
+                      ! input: derivatives in scalar resistances
+                      dGroundResistance_dTGround,           & ! intent(in): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                      dGroundResistance_dTCanopy,           & ! intent(in): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                      dGroundResistance_dTCanair,           & ! intent(in): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                      dCanopyResistance_dTCanopy,           & ! intent(in): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                      dCanopyResistance_dTCanair,           & ! intent(in): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                      ! output: conductances (used to check derivative calculations)
+                      scalarLeafConductance,                & ! intent(out): leaf conductance (m s-1)
+                      scalarCanopyConductance,              & ! intent(out): canopy conductance (m s-1)
+                      scalarGroundConductanceSH,            & ! intent(out): ground conductance for sensible heat (m s-1)
+                      scalarGroundConductanceLH,            & ! intent(out): ground conductance for latent heat -- includes soil resistance (m s-1)
+                      scalarEvapConductance,                & ! intent(out): conductance for evaporation (m s-1)
+                      scalarTransConductance,               & ! intent(out): conductance for transpiration (m s-1)
+                      scalarTotalConductanceSH,             & ! intent(out): total conductance for sensible heat (m s-1)
+                      scalarTotalConductanceLH,             & ! intent(out): total conductance for latent heat (m s-1)
+                      ! output: canopy air space variables
+                      scalarVP_CanopyAir,                   & ! intent(out): vapor pressure of the canopy air space (Pa)
+                      ! output: fluxes from the vegetation canopy
+                      scalarSenHeatCanopy,                  & ! intent(out): sensible heat flux from the canopy to the canopy air space (W m-2)
+                      scalarLatHeatCanopyEvap,              & ! intent(out): latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
+                      scalarLatHeatCanopyTrans,             & ! intent(out): latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
+                      ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
+                      scalarSenHeatGround,                  & ! intent(out): sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                      scalarLatHeatGround,                  & ! intent(out): latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                      ! output: total heat fluxes to the atmosphere
+                      scalarSenHeatTotal,                   & ! intent(out): total sensible heat flux to the atmosphere (W m-2)
+                      scalarLatHeatTotal,                   & ! intent(out): total latent heat flux to the atmosphere (W m-2)
+                      ! output: net fluxes
+                      turbFluxCanair,                       & ! intent(out): net turbulent heat fluxes at the canopy air space (W m-2)
+                      turbFluxCanopy,                       & ! intent(out): net turbulent heat fluxes at the canopy (W m-2)
+                      turbFluxGround,                       & ! intent(out): net turbulent heat fluxes at the ground surface (W m-2)
+                      ! output: energy flux derivatives
+                      dTurbFluxCanair_dTCanair,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                      dTurbFluxCanair_dTCanopy,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+                      dTurbFluxCanair_dTGround,             & ! intent(out): derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+                      dTurbFluxCanopy_dTCanair,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                      dTurbFluxCanopy_dTCanopy,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                      dTurbFluxCanopy_dTGround,             & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                      dTurbFluxGround_dTCanair,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                      dTurbFluxGround_dTCanopy,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                      dTurbFluxGround_dTGround,             & ! intent(out): derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                      ! output: liquid flux derivatives (canopy evap)
+                      dLatHeatCanopyEvap_dCanWat,           & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (W kg-1)
+                      dLatHeatCanopyEvap_dTCanair,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+                      dLatHeatCanopyEvap_dTCanopy,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+                      dLatHeatCanopyEvap_dTGround,          & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+                      ! output: liquid flux derivatives (ground evap)
+                      dLatHeatGroundEvap_dCanWat,           & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
+                      dLatHeatGroundEvap_dTCanair,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy air temperature
+                      dLatHeatGroundEvap_dTCanopy,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy temperature
+                      dLatHeatGroundEvap_dTGround,          & ! intent(out): derivative in latent heat of ground evaporation w.r.t. ground temperature
+                      ! output: cross derivatives
+                      dTurbFluxCanair_dCanWat,              & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                      dTurbFluxCanopy_dCanWat,              & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                      dTurbFluxGround_dCanWat,              & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                      ! output: error control
+                      err,cmessage                          ) ! intent(out): error control
+      if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+
+      !write(*,'(a,f25.15)') 'scalarSenHeatTotal = ', scalarSenHeatTotal
+      !write(*,'(a,f25.15)') 'scalarSenHeatCanopy = ', scalarSenHeatCanopy
+      !write(*,'(a,f25.15)') 'scalarLatHeatCanopyEvap = ', scalarLatHeatCanopyEvap
+      !write(*,'(a,f25.15)') 'scalarLatHeatCanopyTrans = ', scalarLatHeatCanopyTrans
+
+      ! print*, 'scalarSenHeatGround = ', scalarSenHeatGround
+      ! print*, 'scalarLatHeatGround = ', scalarLatHeatGround
+
+      !notUsed_scalarCanopyStabilityCorrection  ! stability correction for the canopy (-)
+      !notUsed_scalarGroundStabilityCorrection  ! stability correction for the ground surface (-)
+      !notUsed_EddyDiffusCanopyTop              ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+      !notUsed_FrictionVelocity                 ! friction velocity (m s-1)
+      !notUsed_WindspdCanopyTop                 ! windspeed at the top of the canopy (m s-1)
+      !notUsed_WindspdCanopyBottom              ! windspeed at the height of the bottom of the canopy (m s-1)
+      !trialLeafResistance                      ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+      !trialGroundResistance                    ! below canopy aerodynamic resistance (s m-1)
+      !trialCanopyResistance                    ! above canopy aerodynamic resistance (s m-1)
+
+        ! save perturbed fluxes
+      if(ix_fDerivMeth == numerical)then
+        select case(itry) ! (select type of perturbation)
+          case(unperturbed)
+            try0 = turbFluxGround
+            exit
+          case(perturbStateCanair)
+            turbFluxCanair_dStateCanair = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+            turbFluxCanopy_dStateCanair = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+            turbFluxGround_dStateCanair = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+            latHeatCanEvap_dStateCanair = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case(perturbStateCanopy)
+            turbFluxCanair_dStateCanopy = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+            turbFluxCanopy_dStateCanopy = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+            turbFluxGround_dStateCanopy = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+            latHeatCanEvap_dStateCanopy = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case(perturbStateGround)
+            try1 = turbFluxGround
+            turbFluxCanair_dStateGround = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+            turbFluxCanopy_dStateGround = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+            turbFluxGround_dStateGround = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+            latHeatCanEvap_dStateGround = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case(perturbStateCanLiq)
+            turbFluxCanair_dStateCanWat = turbFluxCanair          ! turbulent exchange from the canopy air space to the atmosphere (W m-2)
+            turbFluxCanopy_dStateCanWat = turbFluxCanopy          ! total turbulent heat fluxes from the canopy to the canopy air space (W m-2)
+            turbFluxGround_dStateCanWat = turbFluxGround          ! total turbulent heat fluxes from the ground to the canopy air space (W m-2)
+            latHeatCanEvap_dStateCanWat = scalarLatHeatCanopyEvap ! perturbed value for the latent heat associated with canopy evaporation (W m-2)
+          case default
+              err=10
+              message=trim(message)//"unknown perturbation"
+              print*, message
+              return
+          end select ! (type of perturbation)
+      end if ! (if numerical)
+
+    end do  ! (looping through different flux perturbations)
+
+    ! test derivative
+    !if(ix_fDerivMeth == numerical)  print*, 'try0, try1 = ', try0, try1
+    !if(ix_fDerivMeth == numerical)  print*, 'derivative = ', (ix_fDerivMeth == numerical), (try1 - try0)/dx
+    !if(ix_fDerivMeth == analytical) print*, 'derivative = ', (ix_fDerivMeth == numerical), dTurbFluxGround_dTGround
+    !pause
+
+    ! compute numerical derivatives
+    if(ix_fDerivMeth == numerical)then
+      ! derivatives w.r.t. canopy air temperature
+      dTurbFluxCanair_dTCanair    = (turbFluxCanair_dStateCanair - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+      dTurbFluxCanopy_dTCanair    = (turbFluxCanopy_dStateCanair - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+      dTurbFluxGround_dTCanair    = (turbFluxGround_dStateCanair - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+      dLatHeatCanopyEvap_dTCanair = (latHeatCanEvap_dStateCanair - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+      ! derivatives w.r.t. canopy temperature
+      dTurbFluxCanair_dTCanopy    = (turbFluxCanair_dStateCanopy - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+      dTurbFluxCanopy_dTCanopy    = (turbFluxCanopy_dStateCanopy - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+      dTurbFluxGround_dTCanopy    = (turbFluxGround_dStateCanopy - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+      dLatHeatCanopyEvap_dTCanopy = (latHeatCanEvap_dStateCanopy - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+      ! derivatives w.r.t. ground temperature
+      dTurbFluxCanair_dTGround    = (turbFluxCanair_dStateGround - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+      dTurbFluxCanopy_dTGround    = (turbFluxCanopy_dStateGround - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+      dTurbFluxGround_dTGround    = (turbFluxGround_dStateGround - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+      dLatHeatCanopyEvap_dTGround = (latHeatCanEvap_dStateGround - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+      ! derivatives w.r.t. canopy liquid water content
+      dTurbFluxCanair_dCanWat    = (turbFluxCanair_dStateCanWat  - turbFluxCanair) / dx          ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+      dTurbFluxCanopy_dCanWat    = (turbFluxCanopy_dStateCanWat  - turbFluxCanopy) / dx          ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+      dTurbFluxGround_dCanWat    = (turbFluxGround_dStateCanWat  - turbFluxGround) / dx          ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+      dLatHeatCanopyEvap_dCanWat = (latHeatCanEvap_dStateCanWat  - scalarLatHeatCanopyEvap) / dx ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
+    end if
+    !if(heightCanopyBottom < scalarSnowDepth+z0Ground) pause 'bottom of the canopy is covered'
+
+    ! test
+    !print*, (ix_fDerivMeth == numerical)
+    !print*, 'dTurbFluxCanair_dTCanair = ', dTurbFluxCanair_dTCanair
+    !print*, 'dTurbFluxCanair_dTCanopy = ', dTurbFluxCanair_dTCanopy
+    !print*, 'dTurbFluxCanair_dTGround = ', dTurbFluxCanair_dTGround
+    !print*, 'dTurbFluxCanopy_dTCanair = ', dTurbFluxCanopy_dTCanair
+    !print*, 'dTurbFluxCanopy_dTCanopy = ', dTurbFluxCanopy_dTCanopy
+    !print*, 'dTurbFluxCanopy_dTGround = ', dTurbFluxCanopy_dTGround
+    !print*, 'dTurbFluxGround_dTCanair = ', dTurbFluxGround_dTCanair
+    !print*, 'dTurbFluxGround_dTCanopy = ', dTurbFluxGround_dTCanopy
+    !print*, 'dTurbFluxGround_dTGround = ', dTurbFluxGround_dTGround
+    !print*, 'dLatHeatCanopyEvap_dCanLiq = ', dLatHeatCanopyEvap_dCanLiq
+    !print*, 'dLatHeatCanopyEvap_dTCanair = ', dLatHeatCanopyEvap_dTCanair
+    !print*, 'dLatHeatCanopyEvap_dTCanopy = ', dLatHeatCanopyEvap_dTCanopy
+    !print*, 'dLatHeatCanopyEvap_dTGround = ', dLatHeatCanopyEvap_dTGround
+    !print*, 'dTurbFluxCanair_dCanLiq = ', dTurbFluxCanair_dCanLiq
+    !print*, 'dTurbFluxCanopy_dCanLiq = ', dTurbFluxCanopy_dCanLiq
+    !print*, 'dTurbFluxGround_dCanLiq = ', dTurbFluxGround_dCanLiq
+    !print*, '*****'
+    !pause
+
+    !print*, 'scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow, canopyTempTrial, scalarTwetbulb = ', &
+    !         scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow, canopyTempTrial, scalarTwetbulb
+
+    ! compute the heat advected with precipitation (W m-2)
+    ! NOTE: fluxes are in kg m-2 s-1, so no need to use density of water/ice here
+    scalarCanopyAdvectiveHeatFlux = -Cp_water*(scalarRainfall - scalarThroughfallRain)*(canopyTempTrial - scalarTwetbulb) + &
+                                   (-Cp_ice)*(scalarSnowfall - scalarThroughfallSnow)*(canopyTempTrial - scalarTwetbulb)
+    scalarGroundAdvectiveHeatFlux = -Cp_water*scalarThroughfallRain*(groundTempTrial - scalarTwetbulb)         + &
+                                   (-Cp_ice)*scalarThroughfallSnow*(groundTempTrial - scalarTwetbulb)         !+ &
+    !                                -Cp_water*scalarCanopyLiqDrainage  *(groundTempTrial - canopyTempTrial) + &
+    !                                -Cp_ice  *scalarCanopySnowUnloading*(groundTempTrial - canopyTempTrial)
+    !print*, 'scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow = ', scalarRainfall, scalarThroughfallRain, scalarSnowfall, scalarThroughfallSnow
+    !print*, 'scalarCanopyAdvectiveHeatFlux, scalarGroundAdvectiveHeatFlux = ', scalarCanopyAdvectiveHeatFlux, scalarGroundAdvectiveHeatFlux
+
+    ! compute the mass flux associated with transpiration and evaporation/sublimation (J m-2 s-1 --> kg m-2 s-1)
+    ! NOTE: remove water from the snow on the ground in preference to removing water from the water in soil pores
+    !print*, 'scalarLatHeatCanopyTrans = ', scalarLatHeatCanopyTrans
+    !print*, 'scalarLatHeatGround      = ', scalarLatHeatGround
+    ! (canopy transpiration/sublimation)
+    if(scalarLatHeatSubVapCanopy > LH_vap+verySmall)then ! sublimation
+      scalarCanopyEvaporation = 0._dp
+      scalarCanopySublimation = scalarLatHeatCanopyEvap/LH_sub
+      if(scalarLatHeatCanopyTrans > 0._dp)then ! flux directed towards the veg
+        scalarCanopySublimation   = scalarCanopySublimation + scalarLatHeatCanopyTrans/LH_sub ! frost
+        scalarCanopyTranspiration = 0._dp
+      else
+        scalarCanopyTranspiration = scalarLatHeatCanopyTrans/LH_vap  ! transpiration is always vapor
+      end if
+    ! (canopy transpiration/evaporation)
+    else                                                 ! evaporation
+      scalarCanopyEvaporation = scalarLatHeatCanopyEvap/LH_vap
+      scalarCanopySublimation = 0._dp
+      if(scalarLatHeatCanopyTrans > 0._dp)then ! flux directed towards the veg
+        scalarCanopyEvaporation   = scalarCanopyEvaporation + scalarLatHeatCanopyTrans/LH_vap
+        scalarCanopyTranspiration = 0._dp
+      else
+        scalarCanopyTranspiration = scalarLatHeatCanopyTrans/LH_vap
+      end if
+    end if
+    ! (ground evaporation/sublimation)
+    if(scalarLatHeatSubVapGround > LH_vap+verySmall)then ! sublimation
+      ! NOTE: this should only occur when we have formed snow layers, so check
+      if(nSnow == 0)then
+        err=20
+        message=trim(message)//'only expect snow sublimation when we have formed some snow layers'
+        print*, message
+        return
+      end if
+        scalarGroundEvaporation = 0._dp  ! ground evaporation is zero once the snowpack has formed
+        scalarSnowSublimation   = scalarLatHeatGround/LH_sub
+    else
+      ! NOTE: this should only occur when we have no snow layers, so check
+      if(nSnow > 0)then
+        err=20
+        message=trim(message)//'only expect ground evaporation when there are no snow layers'
+        print*, message
+        return
+      end if
+
+      scalarGroundEvaporation = scalarLatHeatGround/LH_vap
+      scalarSnowSublimation   = 0._dp  ! no sublimation from snow if no snow layers have formed
+    end if
+    !  print*, 'nsnow = ', nsnow
+    !  print*, 'scalarSnowSublimation, scalarLatHeatGround = ', scalarSnowSublimation, scalarLatHeatGround
+    !  print*, 'canopyWetFraction, scalarCanopyEvaporation = ', canopyWetFraction, scalarCanopyEvaporation
+
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! ***** AND STITCH EVERYTHING TOGETHER  *****************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+    ! *******************************************************************************************************************************************************************
+
+    ! compute derived fluxes
+    scalarTotalET      = scalarGroundEvaporation + scalarCanopyEvaporation + scalarCanopyTranspiration
+    scalarNetRadiation = scalarCanopyAbsorbedSolar + scalarLWNetCanopy + scalarGroundAbsorbedSolar + scalarLWNetGround
+
+    ! compute net fluxes at the canopy and ground surface
+    canairNetFlux = turbFluxCanair
+    canopyNetFlux = scalarCanopyAbsorbedSolar + scalarLWNetCanopy + turbFluxCanopy + scalarCanopyAdvectiveHeatFlux
+    groundNetFlux = scalarGroundAbsorbedSolar + scalarLWNetGround + turbFluxGround + scalarGroundAdvectiveHeatFlux
+    !write(*,'(a,1x,10(e17.10,1x))') 'canopyNetFlux, groundNetFlux,  scalarLWNetCanopy, turbFluxCanopy, turbFluxGround, scalarLWNetGround, scalarCanopyAdvectiveHeatFlux = ', &
+    !                                 canopyNetFlux, groundNetFlux,  scalarLWNetCanopy, turbFluxCanopy, turbFluxGround, scalarLWNetGround, scalarCanopyAdvectiveHeatFlux
+    !write(*,'(a,1x,10(e20.14,1x))') 'groundNetFlux, scalarGroundAbsorbedSolar,  scalarLWNetGround, turbFluxGround, scalarGroundAdvectiveHeatFlux = ', &
+    !                                 groundNetFlux, scalarGroundAbsorbedSolar,  scalarLWNetGround, turbFluxGround, scalarGroundAdvectiveHeatFlux
+
+    ! compute the energy derivatives
+    dCanairNetFlux_dCanairTemp = dTurbFluxCanair_dTCanair
+    dCanairNetFlux_dCanopyTemp = dTurbFluxCanair_dTCanopy
+    dCanairNetFlux_dGroundTemp = dTurbFluxCanair_dTGround
+    dCanopyNetFlux_dCanairTemp = dTurbFluxCanopy_dTCanair
+    dCanopyNetFlux_dCanopyTemp = dLWNetCanopy_dTCanopy + dTurbFluxCanopy_dTCanopy - Cp_water*(scalarRainfall - scalarThroughfallRain) - Cp_ice*(scalarSnowfall - scalarThroughfallSnow)
+    dCanopyNetFlux_dGroundTemp = dLWNetCanopy_dTGround + dTurbFluxCanopy_dTGround
+    dGroundNetFlux_dCanairTemp = dTurbFluxGround_dTCanair
+    dGroundNetFlux_dCanopyTemp = dLWNetGround_dTCanopy + dTurbFluxGround_dTCanopy
+    dGroundNetFlux_dGroundTemp = dLWNetGround_dTGround + dTurbFluxGround_dTGround - Cp_water*scalarThroughfallRain - Cp_ice*scalarThroughfallSnow
+
+    ! check if evaporation or sublimation
+    if(scalarLatHeatSubVapCanopy < LH_vap+verySmall)then ! evaporation
+
+      ! compute the liquid water derivarives
+      dCanopyEvaporation_dCanWat  = dLatHeatCanopyEvap_dCanWat/LH_vap    ! (s-1)
+      dCanopyEvaporation_dTCanair = dLatHeatCanopyEvap_dTCanair/LH_vap   ! (kg m-2 s-1 K-1)
+      dCanopyEvaporation_dTCanopy = dLatHeatCanopyEvap_dTCanopy/LH_vap   ! (kg m-2 s-1 K-1)
+      dCanopyEvaporation_dTGround = dLatHeatCanopyEvap_dTGround/LH_vap   ! (kg m-2 s-1 K-1)
+
+    ! sublimation
+    else
+      dCanopyEvaporation_dCanWat  = 0._dp  ! (s-1)
+      dCanopyEvaporation_dTCanair = 0._dp  ! (kg m-2 s-1 K-1)
+      dCanopyEvaporation_dTCanopy = 0._dp  ! (kg m-2 s-1 K-1)
+      dCanopyEvaporation_dTGround = 0._dp  ! (kg m-2 s-1 K-1)
+    end if
+
+     ! transpiration
+    if(scalarLatHeatCanopyTrans > 0._dp)then ! flux directed towards the veg
+      dCanopyTrans_dCanWat = 0._dp
+      dCanopyTrans_dTCanair= 0._dp
+      dCanopyTrans_dTCanopy= 0._dp
+      dCanopyTrans_dTGround= 0._dp
+    else
+      dCanopyTrans_dCanWat = dLatHeatCanopyTrans_dCanWat/LH_vap  ! transpiration is always vapor
+      dCanopyTrans_dTCanair= dLatHeatCanopyTrans_dTCanair/LH_vap
+      dCanopyTrans_dTCanopy= dLatHeatCanopyTrans_dTCanopy/LH_vap
+      dCanopyTrans_dTGround= dLatHeatCanopyTrans_dTGround/LH_vap
+    end if
+ 
+
+    ! compute the liquid water derivarives (ground evap)
+    dGroundEvaporation_dCanWat  = dLatHeatGroundEvap_dCanWat/LH_vap    ! (s-1)
+    dGroundEvaporation_dTCanair = dLatHeatGroundEvap_dTCanair/LH_vap   ! (kg m-2 s-1 K-1)
+    dGroundEvaporation_dTCanopy = dLatHeatGroundEvap_dTCanopy/LH_vap   ! (kg m-2 s-1 K-1)
+    dGroundEvaporation_dTGround = dLatHeatGroundEvap_dTGround/LH_vap   ! (kg m-2 s-1 K-1)
+
+    ! compute the cross derivative terms (only related to turbulent fluxes; specifically canopy evaporation and transpiration)
+    dCanopyNetFlux_dCanWat = dTurbFluxCanopy_dCanWat  ! derivative in net canopy fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+    dGroundNetFlux_dCanWat = dTurbFluxGround_dCanWat  ! derivative in net ground fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+
+    !print*, (ix_fDerivMeth == numerical)
+    !print*, 'dGroundNetFlux_dCanairTemp = ', dGroundNetFlux_dCanairTemp
+    !print*, 'dCanopyNetFlux_dCanopyTemp = ', dCanopyNetFlux_dCanopyTemp
+    !print*, 'dGroundNetFlux_dCanopyTemp = ', dGroundNetFlux_dCanopyTemp
+    !print*, 'dCanopyNetFlux_dGroundTemp = ', dCanopyNetFlux_dGroundTemp
+    !print*, 'dGroundNetFlux_dGroundTemp = ', dGroundNetFlux_dGroundTemp
+    !print*, 'dLWNetCanopy_dTGround = ', dLWNetCanopy_dTGround
+    !print*, 'dTurbFluxCanopy_dTGround = ', dTurbFluxCanopy_dTGround
+    !pause
+
+  ! * check
+  case default
+    err=10
+    message=trim(message)//'unable to identify upper boundary condition for thermodynamics'
+    print*, message
+    return
+
+  ! end case statement
+  end select ! upper boundary condition for thermodynamics
+
+  ! return liquid fluxes (needed for coupling)
+  returnCanopyTranspiration = scalarCanopyTranspiration    ! canopy transpiration (kg m-2 s-1)
+  returnCanopyEvaporation   = scalarCanopyEvaporation      ! canopy evaporation/condensation (kg m-2 s-1)
+  returnGroundEvaporation   = scalarGroundEvaporation      ! ground evaporation/condensation -- below canopy or non-vegetated (kg m-2 s-1)
+
+  ! end associations
+  end associate
+
+
+end subroutine vegNrgFlux
+
+
+! *******************************************************************************************************
+! public subroutine wettedFrac: compute wetted fraction of the canopy
+! *******************************************************************************************************
+subroutine wettedFrac(&
+                       ! input
+                       deriv,                  & ! flag to denote if derivative is desired
+                       derNum,                 & ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+                       frozen,                 & ! flag to denote if the canopy is frozen
+                       dLiq_dT,                & ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+                       fracLiq,                & ! fraction of liquid water on the canopy (-)
+                       canopyLiq,              & ! canopy liquid water (kg m-2)
+                       canopyIce,              & ! canopy ice (kg m-2)
+                       canopyLiqMax,           & ! maximum canopy liquid water (kg m-2)
+                       canopyIceMax,           & ! maximum canopy ice content (kg m-2)
+                       canopyWettingFactor,    & ! maximum wetted fraction of the canopy (-)
+                       canopyWettingExp,       & ! exponent in canopy wetting function (-)
+                       ! output
+                       canopyWetFraction,      & ! canopy wetted fraction (-)
+                       dCanopyWetFraction_dWat,& ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+                       dCanopyWetFraction_dT,  & ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                       err,message)              ! error control
+  implicit none
+  ! input
+  logical(lgt),intent(in)       :: deriv                   ! flag to denote if derivative is desired
+  logical(lgt),intent(in)       :: derNum                  ! flag to denote that numerical derivatives are required (otherwise, analytical derivatives are calculated)
+  logical(lgt),intent(in)       :: frozen                  ! flag to denote if the canopy is frozen
+  real(dp),intent(in)           :: dLiq_dT                 ! derivative in canopy liquid w.r.t. canopy temperature (kg m-2 K-1)
+  real(dp),intent(in)           :: fracLiq                 ! fraction of liquid water on the canopy (-)
+  real(dp),intent(in)           :: canopyLiq               ! canopy liquid water (kg m-2)
+  real(dp),intent(in)           :: canopyIce               ! canopy ice (kg m-2)
+  real(dp),intent(in)           :: canopyLiqMax            ! maximum canopy liquid water (kg m-2)
+  real(dp),intent(in)           :: canopyIceMax            ! maximum canopy ice content (kg m-2)
+  real(dp),intent(in)           :: canopyWettingFactor     ! maximum wetted fraction of the canopy (-)
+  real(dp),intent(in)           :: canopyWettingExp        ! exponent in canopy wetting function (-)
+  ! output
+  real(dp),intent(out)          :: canopyWetFraction       ! canopy wetted fraction (-)
+  real(dp),intent(out)          :: dCanopyWetFraction_dWat ! derivative in wetted fraction w.r.t. canopy total water (kg-1 m2)
+  real(dp),intent(out)          :: dCanopyWetFraction_dT   ! derivative in wetted fraction w.r.t. canopy temperature (K-1)
+  ! output: error control
+  integer(i4b),intent(out)      :: err                     ! error code
+  character(*),intent(out)      :: message                 ! error message
+  ! local variables
+  logical(lgt),parameter        :: smoothing=.true.        ! flag to denote that smoothing is required
+  real(dp)                      :: canopyWetFractionPert   ! canopy wetted fraction after state perturbations (-)
+  real(dp)                      :: canopyWetFractionDeriv  ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+  ! -----------------------------------------------------------------------------------------------------------------------------------------------
+  ! initialize error control
+  err=0; message='wettedFrac/'
+
+  ! compute case where the canopy is frozen
+  if(frozen)then
+    ! compute fraction of liquid water on the canopy
+    call wetFraction((deriv .and. .not.derNum),smoothing,canopyIce,canopyIceMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
+    ! compute numerical derivative, if derivative is desired
+    if(deriv.and.derNum)then
+      call wetFraction((deriv .and. .not.derNum),smoothing,canopyIce+dx,canopyIceMax,canopyWettingFactor,canopyWettingExp,canopyWetFractionPert,canopyWetFractionDeriv)
+      canopyWetFractionDeriv = (canopyWetFractionPert - canopyWetFraction)/dx
+    end if
+    ! scale derivative by the fraction of water
+    ! NOTE: dIce/dWat = (1._dp - fracLiq), hence dWet/dWat = dIce/dWat . dWet/dLiq
+    dCanopyWetFraction_dWat = canopyWetFractionDeriv*(1._dp - fracLiq)
+    dCanopyWetFraction_dT   = -canopyWetFractionDeriv*dLiq_dT  ! NOTE: dIce/dT = -dLiq/dT
+    return
+  end if
+
+  ! compute fraction of liquid water on the canopy
+  ! NOTE: if(.not.deriv) canopyWetFractionDeriv = 0._dp
+  call wetFraction((deriv .and. .not.derNum),smoothing,canopyLiq,canopyLiqMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
+
+  ! compute numerical derivative
+  if(deriv.and.derNum)then
+    call wetFraction((deriv .and. .not.derNum),smoothing,canopyLiq+dx,canopyLiqMax,canopyWettingFactor,canopyWettingExp,canopyWetFractionPert,canopyWetFractionDeriv)
+    canopyWetFractionDeriv = (canopyWetFractionPert - canopyWetFraction)/dx
+  end if
+
+  ! scale derivative by the fraction of water
+  ! NOTE: dLiq/dWat = fracLiq, hence dWet/dWat = dLiq/dWat . dWet/dLiq
+  dCanopyWetFraction_dWat = canopyWetFractionDeriv*fracLiq
+  dCanopyWetFraction_dT   = canopyWetFractionDeriv*dLiq_dT
+
+  ! test
+  !write(*,'(a,1x,2(L1,1x),10(f20.10,1x))') 'deriv, derNum, canopyWetFraction, canopyWetFractionDeriv = ', deriv, derNum, canopyWetFraction, canopyWetFractionDeriv
+  !if(deriv) pause 'testing canopy wet fraction'
+
+end subroutine wettedFrac
+
+
+! *******************************************************************************************************
+! private subroutine wetFraction: compute fraction of canopy covered with liquid water
+! *******************************************************************************************************
+subroutine wetFraction(derDesire,smoothing,canopyLiq,canopyMax,canopyWettingFactor,canopyWettingExp,canopyWetFraction,canopyWetFractionDeriv)
+  implicit none
+  ! dummy variables
+  logical(lgt),intent(in) :: derDesire              ! flag to denote if analytical derivatives are desired
+  logical(lgt),intent(in) :: smoothing              ! flag to denote if smoothing is required
+  real(dp),intent(in)     :: canopyLiq              ! liquid water content (kg m-2)
+  real(dp),intent(in)     :: canopyMax              ! liquid water content (kg m-2)
+  real(dp),intent(in)     :: canopyWettingFactor    ! maximum wetted fraction of the canopy (-)
+  real(dp),intent(in)     :: canopyWettingExp       ! exponent in canopy wetting function (-)
+
+  real(dp),intent(out)    :: canopyWetFraction      ! canopy wetted fraction (-)
+  real(dp),intent(out)    :: canopyWetFractionDeriv ! derivative in wetted fraction w.r.t. canopy liquid water (kg-1 m2)
+  ! local variables
+  real(dp)                :: relativeCanopyWater    ! water stored on vegetation canopy, expressed as a fraction of maximum storage (-)
+  real(dp)                :: rawCanopyWetFraction   ! initial value of the canopy wet fraction (before smoothing)
+  real(dp)                :: rawWetFractionDeriv    ! derivative in canopy wet fraction w.r.t. storage (kg-1 m2)
+  real(dp)                :: smoothFunc             ! smoothing function used to improve numerical stability at times with limited water storage (-)
+  real(dp)                :: smoothFuncDeriv        ! derivative in the smoothing function w.r.t.canopy storage (kg-1 m2)
+  real(dp)                :: verySmall=epsilon(1._dp) ! a very small number
+  ! --------------------------------------------------------------------------------------------------------------
+
+  ! compute relative canopy water
+  relativeCanopyWater = canopyLiq/canopyMax
+  !write(*,'(a,1x,e20.10,1x,2(f20.10,1x))') 'relativeCanopyWater, canopyLiq, canopyMax = ', relativeCanopyWater, canopyLiq, canopyMax
+
+  ! compute an initial value of the canopy wet fraction
+  ! - canopy below value where canopy is 100% wet
+  if(relativeCanopyWater < 1._dp)then
+    rawCanopyWetFraction = canopyWettingFactor*(relativeCanopyWater**canopyWettingExp)
+    if(derDesire .and. relativeCanopyWater>verySmall)then
+      rawWetFractionDeriv = (canopyWettingFactor*canopyWettingExp/canopyMax)*relativeCanopyWater**(canopyWettingExp - 1._dp)
+    else
+      rawWetFractionDeriv = 0._dp
+    end if
+
+  ! - canopy is at capacity (canopyWettingFactor)
+  else
+    rawCanopyWetFraction = canopyWettingFactor
+    rawWetFractionDeriv  = 0._dp
+  end if
+
+  ! smooth canopy wetted fraction
+  if(smoothing)then
+    call logisticSmoother(derDesire,canopyLiq,smoothFunc,smoothFuncDeriv)
+    canopyWetFraction = rawCanopyWetFraction*smoothFunc  ! logistic smoother
+  else
+    canopyWetFraction      = rawCanopyWetFraction
+    canopyWetFractionDeriv = rawWetFractionDeriv
+  end if
+
+  ! compute derivative (product rule)
+  if(derDesire .and. smoothing)then  ! NOTE: raw derivative is used if not smoothing
+    canopyWetFractionDeriv = rawWetFractionDeriv*smoothFunc + rawCanopyWetFraction*smoothFuncDeriv
+  else
+    canopyWetFractionDeriv = 0._dp
+  end if
+
+end subroutine wetFraction
+
+
+! *******************************************************************************************************
+! private subroutine logisticSmoother: compute the smoothing function
+! *******************************************************************************************************
+subroutine logisticSmoother(derDesire,canopyLiq,smoothFunc,smoothFuncDeriv)
+  implicit none
+  ! dummy variables
+  logical(lgt),intent(in) :: derDesire              ! flag to denote if analytical derivatives are desired
+  real(dp),intent(in)     :: canopyLiq              ! liquid water content (kg m-2)
+  real(dp),intent(out)    :: smoothFunc             ! smoothing function (-)
+  real(dp),intent(out)    :: smoothFuncDeriv        ! derivative in smoothing function (kg-1 m-2)
+  ! local variables
+  real(dp)                :: xArg                   ! argument used in the smoothing function (-)
+  real(dp)                :: expX                   ! exp(-xArg) -- used multiple times
+  real(dp),parameter      :: smoothThresh=0.01_dp   ! mid-point of the smoothing function (kg m-2)
+  real(dp),parameter      :: smoothScale=0.001_dp   ! scaling factor for the smoothing function (kg m-2)
+  real(dp),parameter      :: xLimit=50._dp          ! don't compute exponents for > xLimit
+  ! --------------------------------------------------------------------------------------------------------------
+  ! compute argument in the smoothing function
+  xArg = (canopyLiq - smoothThresh)/smoothScale
+
+  ! only compute smoothing function for small exponents
+  if(xArg > -xLimit .and. xArg < xLimit)then  ! avoid huge exponents
+    expX            = exp(-xarg)                                   ! (also used in the derivative)
+    smoothFunc      = 1._dp / (1._dp + expX)                       ! (logistic smoother)
+    if(derDesire)then
+      smoothFuncDeriv = expX / (smoothScale * (1._dp + expX)**2._dp) ! (derivative in the smoothing function)
+    else
+      smoothFuncDeriv = 0._dp
+    end if
+
+  ! outside limits: special case of smooth exponents
+  else
+    if(xArg < 0._dp)then; smoothFunc = 0._dp   ! xArg < -xLimit
+    else;                 smoothFunc = 1._dp   ! xArg >  xLimit
+    end if
+    smoothFuncDeriv = 0._dp
+  end if  ! check for huge exponents
+
+end subroutine logisticSmoother
+ ! --------------------------------------------------------------------------------------------------------------
+
+
+! *******************************************************************************************************
+! private subroutine longwaveBal: compute longwave radiation balance at the canopy and ground surface
+! *******************************************************************************************************
+subroutine longwaveBal(&
+                        ! input: model control
+                        ixDerivMethod,                  & ! intent(in): choice of method used to compute derivative (analytical or numerical)
+                        computeVegFlux,                 & ! intent(in): flag to compute fluxes over vegetation
+                        requireLWBal,                   & ! intent(in): flag to indicate if we need longwave to be balanced
+                        ! input: canopy and ground temperature
+                        canopyTemp,                     & ! intent(in): canopy temperature (K)
+                        groundTemp,                     & ! intent(in): ground temperature (K)
+                        ! input: canopy and ground emissivity
+                        emc,                            & ! intent(in): canopy emissivity (-)
+                        emg,                            & ! intent(in): ground emissivity (-)
+                        ! input: forcing
+                        LWRadUbound,                    & ! intent(in): downwelling longwave radiation at the upper boundary (W m-2)
+                        ! output: sources
+                        LWRadCanopy,                    & ! intent(out): longwave radiation emitted from the canopy (W m-2)
+                        LWRadGround,                    & ! intent(out): longwave radiation emitted at the ground surface (W m-2)
+                        ! output: individual fluxes
+                        LWRadUbound2Canopy,             & ! intent(out): downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+                        LWRadUbound2Ground,             & ! intent(out): downward atmospheric longwave radiation absorbed by the ground (W m-2)
+                        LWRadUbound2Ubound,             & ! intent(out): atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+                        LWRadCanopy2Ubound,             & ! intent(out): longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+                        LWRadCanopy2Ground,             & ! intent(out): longwave radiation emitted from canopy absorbed by the ground (W m-2)
+                        LWRadCanopy2Canopy,             & ! intent(out): canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+                        LWRadGround2Ubound,             & ! intent(out): longwave radiation emitted from ground lost thru upper boundary (W m-2)
+                        LWRadGround2Canopy,             & ! intent(out): longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+                        ! output: net fluxes
+                        LWNetCanopy,                    & ! intent(out): net longwave radiation at the canopy (W m-2)
+                        LWNetGround,                    & ! intent(out): net longwave radiation at the ground surface (W m-2)
+                        LWNetUbound,                    & ! intent(out): net longwave radiation at the upper boundary (W m-2)
+                        ! output: flux derivatives
+                        dLWNetCanopy_dTCanopy,          & ! intent(out): derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+                        dLWNetGround_dTGround,          & ! intent(out): derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+                        dLWNetCanopy_dTGround,          & ! intent(out): derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+                        dLWNetGround_dTCanopy,          & ! intent(out): derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+                        ! output: error control
+                        err,message                     ) ! intent(out): error control
+  ! -----------------------------------------------------------------------------------------------------------------------------------------------
+  implicit none
+  ! input: model control
+  integer(i4b),intent(in)       :: ixDerivMethod            ! choice of method used to compute derivative (analytical or numerical)
+  logical(lgt),intent(in)       :: computeVegFlux           ! flag to indicate if computing fluxes over vegetation
+  logical(lgt),intent(in)       :: requireLWBal             ! flag to indicate if we need longwave to be balanced
+  ! input: canopy and ground temperature
+  real(dp),intent(in)           :: canopyTemp               ! canopy temperature (K)
+  real(dp),intent(in)           :: groundTemp               ! ground temperature (K)
+  ! input: canopy and ground emissivity
+  real(dp),intent(in)           :: emc                      ! canopy emissivity (-)
+  real(dp),intent(in)           :: emg                      ! ground emissivity (-)
+  ! input: forcing
+  real(dp),intent(in)           :: LWRadUbound              ! downwelling longwave radiation at the upper boundary (W m-2)
+  ! output: sources
+  real(dp),intent(out)          :: LWRadCanopy              ! longwave radiation emitted from the canopy (W m-2)
+  real(dp),intent(out)          :: LWRadGround              ! longwave radiation emitted at the ground surface (W m-2)
+  ! output: individual fluxes
+  real(dp),intent(out)          :: LWRadUbound2Canopy       ! downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+  real(dp),intent(out)          :: LWRadUbound2Ground       ! downward atmospheric longwave radiation absorbed by the ground (W m-2)
+  real(dp),intent(out)          :: LWRadUbound2Ubound       ! atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+  real(dp),intent(out)          :: LWRadCanopy2Ubound       ! longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+  real(dp),intent(out)          :: LWRadCanopy2Ground       ! longwave radiation emitted from canopy absorbed by the ground (W m-2)
+  real(dp),intent(out)          :: LWRadCanopy2Canopy       ! canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+  real(dp),intent(out)          :: LWRadGround2Ubound       ! longwave radiation emitted from ground lost thru upper boundary (W m-2)
+  real(dp),intent(out)          :: LWRadGround2Canopy       ! longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+  ! output: net fluxes
+  real(dp),intent(out)          :: LWNetCanopy              ! net longwave radiation at the canopy (W m-2)
+  real(dp),intent(out)          :: LWNetGround              ! net longwave radiation at the ground surface (W m-2)
+  real(dp),intent(out)          :: LWNetUbound              ! net longwave radiation at the upper boundary (W m-2)
+  ! output: flux derivatives
+  real(dp),intent(out)          :: dLWNetCanopy_dTCanopy    ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+  real(dp),intent(out)          :: dLWNetGround_dTGround    ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+  real(dp),intent(out)          :: dLWNetCanopy_dTGround    ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+  real(dp),intent(out)          :: dLWNetGround_dTCanopy    ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+  ! output: error control
+  integer(i4b),intent(out)      :: err                      ! error code
+  character(*),intent(out)      :: message                  ! error message
+  ! -----------------------------------------------------------------------------------------------------------------------------------------------
+  ! local variables
+  integer(i4b),parameter        :: unperturbed=1            ! named variable to identify the case of unperturbed state variables
+  integer(i4b),parameter        :: perturbStateCanopy=2     ! named variable to identify the case where we perturb the canopy temperature
+  integer(i4b),parameter        :: perturbStateGround=3     ! named variable to identify the case where we perturb the ground temperature
+  integer(i4b)                  :: itry                     ! index of flux evaluation
+  integer(i4b)                  :: nFlux                    ! number of flux evaluations
+  real(dp)                      :: TCan                     ! value of canopy temperature used in flux calculations (may be perturbed)
+  real(dp)                      :: TGnd                     ! value of ground temperature used in flux calculations (may be perturbed)
+  real(dp)                      :: fluxBalance              ! check energy closure (W m-2)
+  real(dp),parameter            :: fluxTolerance=1.e-10_dp  ! tolerance for energy closure (W m-2)
+  real(dp)                      :: dLWRadCanopy_dTCanopy    ! derivative in emitted radiation at the canopy w.r.t. canopy temperature
+  real(dp)                      :: dLWRadGround_dTGround    ! derivative in emitted radiation at the ground w.r.t. ground temperature
+  real(dp)                      :: LWNetCanopy_dStateCanopy ! net lw canopy flux after perturbation in canopy temperature
+  real(dp)                      :: LWNetGround_dStateCanopy ! net lw ground flux after perturbation in canopy temperature
+  real(dp)                      :: LWNetCanopy_dStateGround ! net lw canopy flux after perturbation in ground temperature
+  real(dp)                      :: LWNetGround_dStateGround ! net lw ground flux after perturbation in ground temperature
+  ! -----------------------------------------------------------------------------------------------------------------------------------------------
+  ! initialize error control
+  err=0; message='longwaveBal/'
+
+  ! check the need to compute numerical derivatives
+  if(ixDerivMethod==numerical)then
+    nFlux=3  ! compute the derivatives using one-sided finite differences
+  else
+    nFlux=1  ! compute analytical derivatives
+  end if
+
+  ! either one or multiple flux calls, depending on if using analytical or numerical derivatives
+  do itry=nFlux,1,-1  ! (work backwards to ensure all computed fluxes come from the un-perturbed case)
+
+    !print*, 'perturbation: ', (itry==unperturbed), (itry==perturbStateCanopy), (itry==perturbStateGround)
+
+    ! -------------------------------------------------------------------------------------
+    ! state perturbations for numerical deriavtives with one-sided finite differences
+    ! note: no perturbations performed using analytical derivatives (nFlux=1)
+    ! -------------------------------------------------------------------------------------
+
+    ! identify the type of perturbation
+    select case(itry)
+
+      ! un-perturbed case
+      case(unperturbed)
+        TCan = canopyTemp
+        TGnd = groundTemp
+
+      ! perturb canopy temperature
+      case(perturbStateCanopy)
+        TCan = canopyTemp + dx
+        TGnd = groundTemp
+
+      ! perturb ground temperature
+      case(perturbStateGround)
+        TCan = canopyTemp
+        TGnd = groundTemp + dx
+
+      ! check for an unknown perturbation
+      case default
+        err=10
+        message=trim(message)//"unknown perturbation"
+        print*, message
+        return
+
+    end select ! (type of perturbation)
+
+    ! -------------------------------------------------------------------------------------
+    ! calculation block (unperturbed fluxes returned [computed last])
+    ! -------------------------------------------------------------------------------------
+    ! NOTE: emc should be set to zero when not computing canopy fluxes
+
+    ! compute longwave fluxes from canopy and the ground
+    if(computeVegFlux)then
+      LWRadCanopy = emc*sb*TCan**4._dp                                           ! longwave radiation emitted from the canopy (W m-2)
+    else
+      LWRadCanopy = 0._dp
+    end if
+    LWRadGround = emg*sb*TGnd**4._dp                                           ! longwave radiation emitted at the ground surface (W m-2)
+
+    ! compute fluxes originating from the atmosphere
+    LWRadUbound2Canopy = (emc + (1._dp - emc)*(1._dp - emg)*emc)*LWRadUbound   ! downward atmospheric longwave radiation absorbed by the canopy (W m-2)
+    LWRadUbound2Ground = (1._dp - emc)*emg*LWRadUbound                         ! downward atmospheric longwave radiation absorbed by the ground (W m-2)
+    LWRadUbound2Ubound = (1._dp - emc)*(1._dp - emg)*(1._dp - emc)*LWRadUbound ! atmospheric radiation reflected by the ground and lost thru upper boundary (W m-2)
+
+    ! compute fluxes originating from the canopy
+    LWRadCanopy2Ubound = (1._dp + (1._dp - emc)*(1._dp - emg))*LWRadCanopy     ! longwave radiation emitted from canopy lost thru upper boundary (W m-2)
+    LWRadCanopy2Ground = emg*LWRadCanopy                                       ! longwave radiation emitted from canopy absorbed by the ground (W m-2)
+    LWRadCanopy2Canopy = emc*(1._dp - emg)*LWRadCanopy                         ! canopy longwave reflected from ground and absorbed by the canopy (W m-2)
+
+    ! compute fluxes originating from the ground surface
+    LWRadGround2Ubound = (1._dp - emc)*LWRadGround                             ! longwave radiation emitted from ground lost thru upper boundary (W m-2)
+    LWRadGround2Canopy = emc*LWRadGround                                       ! longwave radiation emitted from ground and absorbed by the canopy (W m-2)
+
+    ! compute net longwave radiation (W m-2)
+    LWNetCanopy = LWRadUbound2Canopy + LWRadGround2Canopy + LWRadCanopy2Canopy - 2._dp*LWRadCanopy  ! canopy
+    LWNetGround = LWRadUbound2Ground + LWRadCanopy2Ground - LWRadGround                             ! ground surface
+    LWNetUbound = LWRadUbound - LWRadUbound2Ubound - LWRadCanopy2Ubound - LWRadGround2Ubound                             ! upper boundary
+
+    !print*, 'LWRadCanopy = ', LWRadCanopy
+    !print*, 'LWRadGround = ', LWRadGround
+
+    !print*, 'LWNetCanopy = ', LWNetCanopy
+    !print*, 'LWNetGround = ', LWNetGround
+    !print*, 'LWNetUbound = ', LWNetUbound
+
+    ! check the flux balance
+    if(requireLWBal)then
+
+      fluxBalance = LWNetUbound - (LWNetCanopy + LWNetGround)
+      if(abs(fluxBalance) > fluxTolerance)then
+        print*, 'fluxBalance = ', fluxBalance
+        print*, 'emg, emc = ', emg, emc
+        print*, 'TCan, TGnd = ', TCan, TGnd
+        print*, 'LWRadUbound = ', LWRadUbound
+        print*, 'LWRadCanopy = ', LWRadCanopy
+        print*, 'LWRadGround = ', LWRadGround
+        print*, 'LWRadUbound2Canopy = ', LWRadUbound2Canopy
+        print*, 'LWRadUbound2Ground = ', LWRadUbound2Ground
+        print*, 'LWRadUbound2Ubound = ', LWRadUbound2Ubound
+        print*, 'LWRadCanopy2Ubound = ', LWRadCanopy2Ubound
+        print*, 'LWRadCanopy2Ground = ', LWRadCanopy2Ground
+        print*, 'LWRadCanopy2Canopy = ', LWRadCanopy2Canopy
+        print*, 'LWRadGround2Ubound = ', LWRadGround2Ubound
+        print*, 'LWRadGround2Canopy = ', LWRadGround2Canopy
+        print*, 'LWNetCanopy = ', LWNetCanopy
+        print*, 'LWNetGround = ', LWNetGround
+        print*, 'LWNetUbound = ', LWNetUbound
+        message=trim(message)//'flux imbalance'
+        print*, message
+        err=20; return
+      end if
+    endif 
+
+    ! --------------------------------------------------------------------------------------
+    ! save perturbed fluxes to calculate numerical derivatives (one-sided finite difference)
+    ! --------------------------------------------------------------------------------------
+    if(ixDerivMethod==numerical)then
+      select case(itry) ! (select type of perturbation)
+        case(unperturbed); exit
+        case(perturbStateCanopy)
+          LWNetCanopy_dStateCanopy = LWNetCanopy
+          LWNetGround_dStateCanopy = LWNetGround
+        case(perturbStateGround)
+          LWNetCanopy_dStateGround = LWNetCanopy
+          LWNetGround_dStateGround = LWNetGround
+        case default; err=10
+          message=trim(message)//"unknown perturbation"
+          print*, message
+          return
+      end select ! (type of perturbation)
+    end if ! (if numerical)
+
+  end do  ! looping through different perturbations
+
+  ! -------------------------------------------------------------------------------------
+  ! compute derivatives
+  ! -------------------------------------------------------------------------------------
+  select case(ixDerivMethod)
+
+    ! ***** analytical derivatives
+    case(analytical)
+      ! compute initial derivatives
+      dLWRadCanopy_dTCanopy = 4._dp*emc*sb*TCan**3._dp
+      dLWRadGround_dTGround = 4._dp*emg*sb*TGnd**3._dp
+      ! compute analytical derivatives
+      dLWNetCanopy_dTCanopy = (emc*(1._dp - emg) - 2._dp)*dLWRadCanopy_dTCanopy ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+      dLWNetGround_dTGround = -dLWRadGround_dTGround     ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+      dLWNetCanopy_dTGround = emc*dLWRadGround_dTGround  ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+      dLWNetGround_dTCanopy = emg*dLWRadCanopy_dTCanopy  ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+
+    ! ***** numerical derivatives
+    case(numerical)
+      ! compute numerical derivatives (one-sided finite differences)
+      dLWNetCanopy_dTCanopy = (LWNetCanopy_dStateCanopy - LWNetCanopy)/dx  ! derivative in net canopy radiation w.r.t. canopy temperature (W m-2 K-1)
+      dLWNetGround_dTGround = (LWNetGround_dStateGround - LWNetGround)/dx  ! derivative in net ground radiation w.r.t. ground temperature (W m-2 K-1)
+      dLWNetCanopy_dTGround = (LWNetCanopy_dStateGround - LWNetCanopy)/dx  ! derivative in net canopy radiation w.r.t. ground temperature (W m-2 K-1)
+      dLWNetGround_dTCanopy = (LWNetGround_dStateCanopy - LWNetGround)/dx  ! derivative in net ground radiation w.r.t. canopy temperature (W m-2 K-1)
+
+    ! ***** error check
+    case default
+      err=10
+      message=trim(message)//"unknown method to calculate derivatives"
+      print*, message
+      return
+
+  end select ! (type of method to calculate derivatives)
+
+end subroutine longwaveBal
+
+
+! *******************************************************************************************************
+! private subroutine aeroResist: compute aerodynamic resistances
+! *******************************************************************************************************
+subroutine aeroResist(&
+                       ! input: model control
+                       computeVegFlux,                & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                       derivDesired,                  & ! intent(in): flag to indicate if analytical derivatives are desired
+                       ixVegTraits,                   & ! intent(in): choice of parameterization for vegetation roughness length and displacement height
+                       ixWindProfile,                 & ! intent(in): choice of canopy wind profile
+                       ixStability,                   & ! intent(in): choice of stability function
+                       ! input: above-canopy forcing data
+                       mHeight,                       & ! intent(in): measurement height (m)
+                       airtemp,                       & ! intent(in): air temperature at some height above the surface (K)
+                       windspd,                       & ! intent(in): wind speed at some height above the surface (m s-1)
+                       ! input: temperature (canopy, ground, canopy air space)
+                       canairTemp,                    & ! intent(in): temperature of the canopy air space (K)
+                       groundTemp,                    & ! intent(in): ground temperature (K)
+                       ! input: diagnostic variables
+                       exposedVAI,                    & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                       snowDepth,                     & ! intent(in): snow depth (m)
+                       ! input: parameters
+                       z0Ground,                      & ! intent(in): roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+                       z0CanopyParam,                 & ! intent(in): roughness length of the canopy (m)
+                       zpdFraction,                   & ! intent(in): zero plane displacement / canopy height (-)
+                       critRichNumber,                & ! intent(in): critical value for the bulk Richardson number where turbulence ceases (-)
+                       Louis79_bparam,                & ! intent(in): parameter in Louis (1979) stability function
+                       Mahrt87_eScale,                & ! intent(in): exponential scaling factor in the Mahrt (1987) stability function
+                       windReductionParam,            & ! intent(in): canopy wind reduction parameter (-)
+                       leafExchangeCoeff,             & ! intent(in): turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+                       leafDimension,                 & ! intent(in): characteristic leaf dimension (m)
+                       heightCanopyTop,               & ! intent(in): height at the top of the vegetation canopy (m)
+                       heightCanopyBottom,            & ! intent(in): height at the bottom of the vegetation canopy (m)
+                       ! output: stability corrections
+                       RiBulkCanopy,                  & ! intent(out): bulk Richardson number for the canopy (-)
+                       RiBulkGround,                  & ! intent(out): bulk Richardson number for the ground surface (-)
+                       canopyStabilityCorrection,     & ! intent(out): stability correction for the canopy (-)
+                       groundStabilityCorrection,     & ! intent(out): stability correction for the ground surface (-)
+                       ! output: scalar resistances
+                       z0Canopy,                      & ! intent(out): roughness length of the canopy (m)
+                       windReductionFactor,           & ! intent(out): canopy wind reduction factor (-)
+                       zeroPlaneDisplacement,         & ! intent(out): zero plane displacement (m)
+                       eddyDiffusCanopyTop,           & ! intent(out): eddy diffusivity for heat at the top of the canopy (m2 s-1)
+                       frictionVelocity,              & ! intent(out): friction velocity (m s-1)
+                       windspdCanopyTop,              & ! intent(out): windspeed at the top of the canopy (m s-1)
+                       windspdCanopyBottom,           & ! intent(out): windspeed at the height of the bottom of the canopy (m s-1)
+                       leafResistance,                & ! intent(out): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                       groundResistance,              & ! intent(out): below canopy aerodynamic resistance (s m-1)
+                       canopyResistance,              & ! intent(out): above canopy aerodynamic resistance (s m-1)
+                       ! output: derivatives in scalar resistances
+                       dGroundResistance_dTGround,    & ! intent(out): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                       dGroundResistance_dTCanopy,    & ! intent(out): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                       dGroundResistance_dTCanair,    & ! intent(out): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                       dCanopyResistance_dTCanopy,    & ! intent(out): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                       dCanopyResistance_dTCanair,    & ! intent(out): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                       ! output: error control
+                       err,message                    ) ! intent(out): error control
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! compute aerodynamic resistances
+ ! Refs: Choudhury and Monteith (4-layer model for heat budget of homogenous surfaces; QJRMS, 1988)
+ !       Niu and Yang (Canopy effects on snow processes; JGR, 2004)
+ !       Mahat et al. (Below-canopy turbulence in a snowmelt model, WRR, 2012)
+ implicit none
+ ! input: model control
+ logical(lgt),intent(in)       :: computeVegFlux                ! logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+ logical(lgt),intent(in)       :: derivDesired                  ! logical flag to indicate if analytical derivatives are desired
+ integer(i4b),intent(in)       :: ixVegTraits                   ! choice of parameterization for vegetation roughness length and displacement height
+ integer(i4b),intent(in)       :: ixWindProfile                 ! choice of canopy wind profile
+ integer(i4b),intent(in)       :: ixStability                   ! choice of stability function
+ ! input: above-canopy forcing data
+ real(dp),intent(in)           :: mHeight                       ! measurement height (m)
+ real(dp),intent(in)           :: airtemp                       ! air temperature at some height above the surface (K)
+ real(dp),intent(in)           :: windspd                       ! wind speed at some height above the surface (m s-1)
+ ! input: temperature (canopy, ground, canopy air space)
+ real(dp),intent(in)           :: canairTemp                    ! temperature of the canopy air space (K)
+ real(dp),intent(in)           :: groundTemp                    ! ground temperature (K)
+ ! input: diagnostic variables
+ real(dp),intent(in)           :: exposedVAI                    ! exposed vegetation area index -- leaf plus stem (m2 m-2)
+ real(dp),intent(in)           :: snowDepth                     ! snow depth (m)
+ ! input: parameters
+ real(dp),intent(in)           :: z0Ground                      ! roughness length of the ground (below canopy or non-vegetated surface [snow]) (m)
+ real(dp),intent(in)           :: z0CanopyParam                 ! roughness length of the canopy (m)
+ real(dp),intent(in)           :: zpdFraction                   ! zero plane displacement / canopy height (-)
+ real(dp),intent(in)           :: critRichNumber                ! critical value for the bulk Richardson number where turbulence ceases (-)
+ real(dp),intent(in)           :: Louis79_bparam                ! parameter in Louis (1979) stability function
+ real(dp),intent(in)           :: Mahrt87_eScale                ! exponential scaling factor in the Mahrt (1987) stability function
+ real(dp),intent(in)           :: windReductionParam            ! canopy wind reduction parameter (-)
+ real(dp),intent(in)           :: leafExchangeCoeff             ! turbulent exchange coeff between canopy surface and canopy air ( m s-(1/2) )
+ real(dp),intent(in)           :: leafDimension                 ! characteristic leaf dimension (m)
+ real(dp),intent(in)           :: heightCanopyTop               ! height at the top of the vegetation canopy (m)
+ real(dp),intent(in)           :: heightCanopyBottom            ! height at the bottom of the vegetation canopy (m)
+ ! output: stability corrections
+ real(dp),intent(out)          :: RiBulkCanopy                  ! bulk Richardson number for the canopy (-)
+ real(dp),intent(out)          :: RiBulkGround                  ! bulk Richardson number for the ground surface (-)
+ real(dp),intent(out)          :: canopyStabilityCorrection     ! stability correction for the canopy (-)
+ real(dp),intent(out)          :: groundStabilityCorrection     ! stability correction for the ground surface (-)
+ ! output: scalar resistances
+ real(dp),intent(out)          :: z0Canopy                      ! roughness length of the vegetation canopy (m)
+ real(dp),intent(out)          :: windReductionFactor           ! canopy wind reduction factor (-)
+ real(dp),intent(out)          :: zeroPlaneDisplacement         ! zero plane displacement (m)
+ real(dp),intent(out)          :: eddyDiffusCanopyTop           ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+ real(dp),intent(out)          :: frictionVelocity              ! friction velocity (m s-1)
+ real(dp),intent(out)          :: windspdCanopyTop              ! windspeed at the top of the canopy (m s-1)
+ real(dp),intent(out)          :: windspdCanopyBottom           ! windspeed at the height of the bottom of the canopy (m s-1)
+ real(dp),intent(out)          :: leafResistance                ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+ real(dp),intent(out)          :: groundResistance              ! below canopy aerodynamic resistance (s m-1)
+ real(dp),intent(out)          :: canopyResistance              ! above canopy aerodynamic resistance (s m-1)
+ ! output: derivatives in scalar resistances
+ real(dp),intent(out)          :: dGroundResistance_dTGround    ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+ real(dp),intent(out)          :: dGroundResistance_dTCanopy    ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+ real(dp),intent(out)          :: dGroundResistance_dTCanair    ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+ real(dp),intent(out)          :: dCanopyResistance_dTCanopy    ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+ real(dp),intent(out)          :: dCanopyResistance_dTCanair    ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+ ! output: error control
+ integer(i4b),intent(out)      :: err                           ! error code
+ character(*),intent(out)      :: message                       ! error message
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! local variables: general
+ character(LEN=256)            :: cmessage                      ! error message of downwind routine
+ ! local variables: vegetation roughness and dispalcement height
+ real(dp),parameter            :: oneThird=1._dp/3._dp          ! 1/3
+ real(dp),parameter            :: twoThirds=2._dp/3._dp         ! 2/3
+ real(dp),parameter            :: C_r = 0.3                     ! roughness element drag coefficient (-) from Raupach (BLM, 1994)
+ real(dp),parameter            :: C_s = 0.003_dp                ! substrate surface drag coefficient (-) from Raupach (BLM, 1994)
+ real(dp),parameter            :: approxDragCoef_max = 0.3_dp   ! maximum value of the approximate drag coefficient (-) from Raupach (BLM, 1994)
+ real(dp),parameter            :: psi_h = 0.193_dp              ! roughness sub-layer influence function (-) from Raupach (BLM, 1994)
+ real(dp),parameter            :: c_d1 = 7.5_dp                 ! scaling parameter used to define displacement height (-) from Raupach (BLM, 1994)
+ real(dp),parameter            :: cd_CM = 0.2_dp                ! mean drag coefficient for individual leaves (-) from Choudhury and Monteith (QJRMS, 1988)
+ real(dp)                      :: funcLAI                       ! temporary variable to calculate zero plane displacement for the canopy
+ real(dp)                      :: fracCanopyHeight              ! zero plane displacement expressed as a fraction of canopy height
+ real(dp)                      :: approxDragCoef                ! approximate drag coefficient used in the computation of canopy roughness length (-)
+ ! local variables: resistance
+ real(dp)                      :: canopyExNeut                  ! surface-atmosphere exchange coefficient under neutral conditions (-)
+ real(dp)                      :: groundExNeut                  ! surface-atmosphere exchange coefficient under neutral conditions (-)
+ real(dp)                      :: sfc2AtmExchangeCoeff_canopy   ! surface-atmosphere exchange coefficient after stability corrections (-)
+ real(dp)                      :: groundResistanceNeutral       ! ground resistance under neutral conditions (s m-1)
+ real(dp)                      :: windConvFactor_fv             ! factor to convert friction velocity to wind speed at top of canopy (-)
+ real(dp)                      :: windConvFactor                ! factor to convert wind speed at top of canopy to wind speed at a given height in the canopy (-)
+ real(dp)                      :: referenceHeight               ! z0Canopy+zeroPlaneDisplacement (m)
+ real(dp)                      :: windspdRefHeight              ! windspeed at the reference height (m/s)
+ real(dp)                      :: heightAboveGround             ! height above the snow surface (m)
+ real(dp)                      :: heightCanopyTopAboveSnow      ! height at the top of the vegetation canopy relative to snowpack (m)
+ real(dp)                      :: heightCanopyBottomAboveSnow   ! height at the bottom of the vegetation canopy relative to snowpack (m)
+ real(dp),parameter            :: xTolerance=0.1_dp             ! tolerance to handle the transition from exponential to log-below canopy
+ ! local variables: derivatives
+ real(dp)                      :: dFV_dT                        ! derivative in friction velocity w.r.t. canopy air temperature
+ real(dp)                      :: dED_dT                        ! derivative in eddy diffusivity at the top of the canopy w.r.t. canopy air temperature
+ real(dp)                      :: dGR_dT                        ! derivative in neutral ground resistance w.r.t. canopy air temperature
+ real(dp)                      :: tmp1,tmp2                     ! temporary variables used in calculation of ground resistance
+ real(dp)                      :: dCanopyStabilityCorrection_dRich     ! derivative in stability correction w.r.t. Richardson number for the canopy (-)
+ real(dp)                      :: dGroundStabilityCorrection_dRich     ! derivative in stability correction w.r.t. Richardson number for the ground surface (-)
+ real(dp)                      :: dCanopyStabilityCorrection_dAirTemp  ! (not used) derivative in stability correction w.r.t. air temperature (K-1)
+ real(dp)                      :: dGroundStabilityCorrection_dAirTemp  ! (not used) derivative in stability correction w.r.t. air temperature (K-1)
+ real(dp)                      :: dCanopyStabilityCorrection_dCasTemp  ! derivative in canopy stability correction w.r.t. canopy air space temperature (K-1)
+ real(dp)                      :: dGroundStabilityCorrection_dCasTemp  ! derivative in ground stability correction w.r.t. canopy air space temperature (K-1)
+ real(dp)                      :: dGroundStabilityCorrection_dSfcTemp  ! derivative in ground stability correction w.r.t. surface temperature (K-1)
+ real(dp)                      :: singleLeafConductance         ! leaf boundary layer conductance (m s-1)
+ real(dp)                      :: canopyLeafConductance         ! leaf boundary layer conductance -- scaled up to the canopy (m s-1)
+ real(dp)                      :: leaf2CanopyScaleFactor        ! factor to scale from the leaf to the canopy [m s-(1/2)]
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! initialize error control
+ err=0; message='aeroResist/'
+
+ ! check that measurement height is above the top of the canopy
+ if(mHeight < heightCanopyTop)then
+  err=20; message=trim(message)//'measurement height is below the top of the canopy'; return
+ end if
+
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! * compute vegetation poperties (could be done at the same time as phenology.. does not have to be in the flux routine!)
+ if(computeVegFlux) then ! (if vegetation is exposed)
+
+  ! ***** identify zero plane displacement, roughness length, and surface temperature for the canopy (m)
+  ! First, calculate new coordinate system above snow - use these to scale wind profiles and resistances
+  ! NOTE: the new coordinate system makes zeroPlaneDisplacement and z0Canopy consistent
+  heightCanopyTopAboveSnow = heightCanopyTop - snowDepth
+  heightCanopyBottomAboveSnow = max(heightCanopyBottom - snowDepth, 0.0_dp)
+  select case(ixVegTraits)
+
+   ! Raupach (BLM 1994) "Simplified expressions..."
+   case(Raupach_BLM1994)
+    ! (compute zero-plane displacement)
+    funcLAI          = sqrt(c_d1*exposedVAI)
+    fracCanopyHeight = -(1._dp - exp(-funcLAI))/funcLAI + 1._dp
+    zeroPlaneDisplacement = fracCanopyHeight*(heightCanopyTopAboveSnow-heightCanopyBottomAboveSnow)+heightCanopyBottomAboveSnow
+    ! (coupute roughness length of the veg canopy)
+    approxDragCoef   = min( sqrt(C_s + C_r*exposedVAI/2._dp), approxDragCoef_max)
+    z0Canopy         = (1._dp - fracCanopyHeight) * exp(-vkc*approxDragCoef - psi_h) * (heightCanopyTopAboveSnow-heightCanopyBottomAboveSnow)
+
+   ! Choudhury and Monteith (QJRMS 1988) "A four layer model for the heat budget..."
+   case(CM_QJRMS1988)
+    funcLAI =  cd_CM*exposedVAI
+    zeroPlaneDisplacement = 1.1_dp*heightCanopyTopAboveSnow*log(1._dp + funcLAI**0.25_dp)
+    if(funcLAI < 0.2_dp)then
+     z0Canopy = z0Ground + 0.3_dp*heightCanopyTopAboveSnow*funcLAI**0.5_dp
+    else
+     z0Canopy = 0.3_dp*heightCanopyTopAboveSnow*(1._dp - zeroPlaneDisplacement/heightCanopyTopAboveSnow)
+    end if
+
+   ! constant parameters dependent on the vegetation type
+   case(vegTypeTable)
+    zeroPlaneDisplacement = zpdFraction*heightCanopyTopAboveSnow  ! zero-plane displacement (m)
+    z0Canopy = z0CanopyParam                                      ! roughness length of the veg canopy (m)
+
+   ! check
+   case default
+    err=10; message=trim(message)//"unknown parameterization for vegetation roughness length and displacement height"; return
+
+  end select  ! vegetation traits (z0, zpd)
+
+  ! check zero plane displacement
+  if(zeroPlaneDisplacement < heightCanopyBottomAboveSnow)then
+   write(*,'(a,1x,10(f12.5,1x))') 'heightCanopyTop, snowDepth, heightCanopyTopAboveSnow, heightCanopyBottomAboveSnow, exposedVAI = ', &
+                                   heightCanopyTop, snowDepth, heightCanopyTopAboveSnow, heightCanopyBottomAboveSnow, exposedVAI
+   message=trim(message)//'zero plane displacement is below the canopy bottom'
+   err=20; return
+  endif
+
+  ! check measurement height
+  if(mHeight < zeroPlaneDisplacement)then; err=20; message=trim(message)//'measurement height is below the displacement height'; return; end if
+  if(mHeight < z0Canopy)then; err=20; message=trim(message)//'measurement height is below the roughness length'; return; end if
+
+  ! -----------------------------------------------------------------------------------------------------------------------------------------
+  ! -----------------------------------------------------------------------------------------------------------------------------------------
+  ! * compute resistance for the case where the canopy is exposed
+  ! compute the stability correction for resistance from canopy air space to air above the canopy (-)
+  call aStability(&
+                  ! input
+                  derivDesired,                                     & ! input: logical flag to compute analytical derivatives
+                  ixStability,                                      & ! input: choice of stability function
+                  ! input: forcing data, diagnostic and state variables
+                  mHeight,                                          & ! input: measurement height (m)
+                  airTemp,                                          & ! input: air temperature above the canopy (K)
+                  canairTemp,                                       & ! input: temperature of the canopy air space (K)
+                  windspd,                                          & ! input: wind speed above the canopy (m s-1)
+                  ! input: stability parameters
+                  critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                  Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
+                  Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                  ! output
+                  RiBulkCanopy,                                     & ! output: bulk Richardson number (-)
+                  canopyStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
+                  dCanopyStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the canopy (-)
+                  dCanopyStabilityCorrection_dAirTemp,              & ! output: (not used) derivative in stability correction w.r.t. air temperature (K-1)
+                  dCanopyStabilityCorrection_dCasTemp,              & ! output: derivative in stability correction w.r.t. canopy air space temperature (K-1)
+                  err, cmessage                                     ) ! output: error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+
+  ! compute turbulent exchange coefficient (-)
+  canopyExNeut = (vkc**2._dp) / ( log((mHeight - zeroPlaneDisplacement)/z0Canopy))**2._dp     ! coefficient under conditions of neutral stability
+  sfc2AtmExchangeCoeff_canopy = canopyExNeut*canopyStabilityCorrection                        ! after stability corrections
+
+  ! compute the friction velocity (m s-1)
+  frictionVelocity = windspd * sqrt(sfc2AtmExchangeCoeff_canopy)
+
+  ! compute the above-canopy resistance (s m-1)
+  canopyResistance = 1._dp/(sfc2AtmExchangeCoeff_canopy*windspd)
+  if(canopyResistance < 0._dp)then; err=20; message=trim(message)//'canopy resistance < 0'; return; end if
+
+  ! compute windspeed at the top of the canopy above snow depth (m s-1)
+  ! NOTE: stability corrections cancel out
+  windConvFactor_fv = log((heightCanopyTopAboveSnow - zeroPlaneDisplacement)/z0Canopy) / log((mHeight - snowDepth - zeroPlaneDisplacement)/z0Canopy)
+  windspdCanopyTop  = windspd*windConvFactor_fv
+
+  ! compute the windspeed reduction
+  ! Refs: Norman et al. (Ag. Forest Met., 1995) -- citing Goudriaan (1977 manuscript "crop micrometeorology: a simulation study", Wageningen).  
+  windReductionFactor = windReductionParam * exposedVAI**twoThirds * (heightCanopyTopAboveSnow - heightCanopyBottomAboveSnow)**oneThird / leafDimension**oneThird
+
+  ! compute windspeed at the height z0Canopy+zeroPlaneDisplacement (m s-1)
+  referenceHeight   = z0Canopy+zeroPlaneDisplacement
+  windConvFactor    = exp(-windReductionFactor*(1._dp - (referenceHeight/heightCanopyTopAboveSnow)))
+  windspdRefHeight  = windspdCanopyTop*windConvFactor
+
+  ! compute windspeed at the bottom of the canopy relative to the snow depth (m s-1)
+  windConvFactor       = exp(-windReductionFactor*(1._dp - (heightCanopyBottomAboveSnow/heightCanopyTopAboveSnow)))
+  windspdCanopyBottom  = windspdCanopyTop*windConvFactor
+
+  ! compute the leaf boundary layer resistance (s m-1)
+  singleLeafConductance  = leafExchangeCoeff*sqrt(windspdCanopyTop/leafDimension)
+  leaf2CanopyScaleFactor = (2._dp/windReductionFactor) * (1._dp - exp(-windReductionFactor/2._dp)) ! factor to scale from the leaf to the canopy
+  canopyLeafConductance  = singleLeafConductance*leaf2CanopyScaleFactor
+  leafResistance         = 1._dp/(canopyLeafConductance)
+  if(leafResistance < 0._dp)then; err=20; message=trim(message)//'leaf resistance < 0'; return; end if
+
+  ! compute eddy diffusivity for heat at the top of the canopy (m2 s-1)
+  !  Note: use of friction velocity here includes stability adjustments
+  !  Note: max used to avoid dividing by zero
+  eddyDiffusCanopyTop = max(vkc*FrictionVelocity*(heightCanopyTopAboveSnow - zeroPlaneDisplacement), mpe)
+
+  ! compute the resistance between the surface and canopy air UNDER NEUTRAL CONDITIONS (s m-1)
+  ! print*, ""
+  ! print*, "-windReductionFactor = ", -windReductionFactor
+  ! print*, " z0Ground = ", z0Ground
+  ! print*, " heightCanopyTopAboveSnow = ", heightCanopyTopAboveSnow
+  ! print*, " zeroPlaneDisplacement = ", zeroPlaneDisplacement
+  ! print*, " heightCanopyTopAboveSnow = ", heightCanopyTopAboveSnow
+  ! print*, " eddyDiffusCanopyTop = ", eddyDiffusCanopyTop
+  ! print*, ""
+  ! case 1: assume exponential profile extends from the snow depth plus surface roughness length to the displacement height plus vegetation roughness
+  if(ixWindProfile==exponential .or. heightCanopyBottomAboveSnow<z0Ground+xTolerance)then
+   ! compute the neutral ground resistance
+   tmp1 = exp(-windReductionFactor* z0Ground/heightCanopyTopAboveSnow)
+   tmp2 = exp(-windReductionFactor*(z0Canopy+zeroPlaneDisplacement)/heightCanopyTopAboveSnow)
+   groundResistanceNeutral = ( heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop) ) * (tmp1 - tmp2)   ! s m-1
+
+  ! case 2: logarithmic profile from snow depth plus roughness height to bottom of the canopy
+  ! NOTE: heightCanopyBottomAboveSnow>z0Ground+xTolerance
+  else 
+   ! compute the neutral ground resistance
+   ! (first, component between heightCanopyBottomAboveSnow and z0Canopy+zeroPlaneDisplacement)
+   tmp1  = exp(-windReductionFactor* heightCanopyBottomAboveSnow/heightCanopyTopAboveSnow)
+   tmp2  = exp(-windReductionFactor*(z0Canopy+zeroPlaneDisplacement)/heightCanopyTopAboveSnow)
+   groundResistanceNeutral = ( heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop) ) * (tmp1 - tmp2)
+   ! (add log-below-canopy component)
+   groundResistanceNeutral = groundResistanceNeutral + (1._dp/(max(0.1_dp,windspdCanopyBottom)*vkc**2._dp))*(log(heightCanopyBottomAboveSnow/z0Ground))**2._dp
+   
+  endif  ! switch between exponential profile and log-below-canopy
+
+  ! compute the stability correction for resistance from the ground to the canopy air space (-)
+  ! NOTE: here we are interested in the windspeed at height z0Canopy+zeroPlaneDisplacement
+  call aStability(&
+                  ! input
+                  derivDesired,                                     & ! input: logical flag to compute analytical derivatives
+                  ixStability,                                      & ! input: choice of stability function
+                  ! input: forcing data, diagnostic and state variables
+                  referenceHeight,                                  & ! input: height of the canopy air space temperature/wind (m)
+                  canairTemp,                                       & ! input: temperature of the canopy air space (K)
+                  groundTemp,                                       & ! input: temperature of the ground surface (K)
+                  max(0.1_dp,windspdRefHeight),                     & ! input: wind speed at height z0Canopy+zeroPlaneDisplacement (m s-1)
+                  ! input: stability parameters
+                  critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                  Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
+                  Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                  ! output
+                  RiBulkGround,                                     & ! output: bulk Richardson number (-)
+                  groundStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
+                  dGroundStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the canopy (-)
+                  dGroundStabilityCorrection_dCasTemp,              & ! output: derivative in stability correction w.r.t. canopy air space temperature (K-1)
+                  dGroundStabilityCorrection_dSfcTemp,              & ! output: derivative in stability correction w.r.t. surface temperature (K-1)
+                  err, cmessage                                     ) ! output: error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+
+  ! compute the ground resistance
+  groundResistance = groundResistanceNeutral / groundStabilityCorrection
+  if(groundResistance < 0._dp)then; err=20; message=trim(message)//'ground resistance < 0 [vegetation is present]'; return; end if
+
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! * compute resistance for the case without a canopy (bare ground, or canopy completely buried with snow)
+ else
+
+  ! no canopy, so set huge resistances (not used)
+  canopyResistance = 1.e12_dp   ! not used: huge resistance, so conductance is essentially zero
+  leafResistance   = 1.e12_dp   ! not used: huge resistance, so conductance is essentially zero
+
+  ! check that measurement height above the ground surface is above the roughness length
+  if(mHeight < snowDepth+z0Ground)then; err=20; message=trim(message)//'measurement height < snow depth + roughness length'; return; end if
+
+  ! compute the resistance between the surface and canopy air UNDER NEUTRAL CONDITIONS (s m-1)
+  groundExNeut = (vkc**2._dp) / ( log((mHeight - snowDepth)/z0Ground)**2._dp) ! turbulent transfer coefficient under conditions of neutral stability (-)
+  groundResistanceNeutral = 1._dp / (groundExNeut*windspd)
+
+  ! define height above the snow surface
+  heightAboveGround  = mHeight - snowDepth
+
+  ! check that measurement height above the ground surface is above the roughness length
+  if(heightAboveGround < z0Ground)then
+   print*, 'z0Ground = ', z0Ground
+   print*, 'mHeight  = ', mHeight
+   print*, 'snowDepth = ', snowDepth
+   print*, 'heightAboveGround = ', heightAboveGround
+   message=trim(message)//'height above ground < roughness length [likely due to snow accumulation]'
+   err=20; return
+  end if
+
+  ! compute ground stability correction
+  call aStability(&
+                   ! input
+                  derivDesired,                                     & ! input: logical flag to compute analytical derivatives
+                  ixStability,                                      & ! input: choice of stability function
+                  ! input: forcing data, diagnostic and state variables
+                  heightAboveGround,                                & ! input: measurement height above the ground surface (m)
+                  airtemp,                                          & ! input: temperature above the ground surface (K)
+                  groundTemp,                                       & ! input: trial value of surface temperature -- "surface" is either canopy or ground (K)
+                  windspd,                                          & ! input: wind speed above the ground surface (m s-1)
+                  ! input: stability parameters
+                  critRichNumber,                                   & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                  Louis79_bparam,                                   & ! input: parameter in Louis (1979) stability function
+                  Mahrt87_eScale,                                   & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                  ! output
+                  RiBulkGround,                                     & ! output: bulk Richardson number (-)
+                  groundStabilityCorrection,                        & ! output: stability correction for turbulent heat fluxes (-)
+                  dGroundStabilityCorrection_dRich,                 & ! output: derivative in stability correction w.r.t. Richardson number for the ground surface (-)
+                  dGroundStabilityCorrection_dAirTemp,              & ! output: (not used) derivative in stability correction w.r.t. air temperature (K-1)
+                  dGroundStabilityCorrection_dSfcTemp,              & ! output: derivative in stability correction w.r.t. surface temperature (K-1)
+                  err, cmessage                                     ) ! output: error control
+  if(err/=0)then; message=trim(message)//trim(cmessage); return; end if
+
+  ! compute the ground resistance (after stability corrections)
+  groundResistance = groundResistanceNeutral/groundStabilityCorrection
+  if(groundResistance < 0._dp)then; err=20; message=trim(message)//'ground resistance < 0 [no vegetation]'; return; end if
+
+  ! set all canopy variables to missing (no canopy!)
+  z0Canopy                   = missingValue   ! roughness length of the vegetation canopy (m)
+  RiBulkCanopy               = missingValue   ! bulk Richardson number for the canopy (-)
+  windReductionFactor        = missingValue   ! canopy wind reduction factor (-)
+  zeroPlaneDisplacement      = missingValue   ! zero plane displacement (m)
+  canopyStabilityCorrection  = missingValue   ! stability correction for the canopy (-)
+  eddyDiffusCanopyTop        = missingValue   ! eddy diffusivity for heat at the top of the canopy (m2 s-1)
+  frictionVelocity           = missingValue   ! friction velocity (m s-1)
+  windspdCanopyTop           = missingValue   ! windspeed at the top of the canopy (m s-1)
+  windspdCanopyBottom        = missingValue   ! windspeed at the height of the bottom of the canopy (m s-1)
+
+ end if  ! (if no canopy)
+
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! * compute derivatives
+ if(derivDesired)then  ! if analytical derivatives are desired
+
+  ! derivatives for the vegetation canopy
+  if(computeVegFlux) then ! (if vegetation is exposed)
+
+   ! ***** compute derivatives w.r.t. canopy temperature
+   ! NOTE: derivatives are zero because using canopy air space temperature
+   dCanopyResistance_dTCanopy = 0._dp ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+   dGroundResistance_dTCanopy = 0._dp ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+
+   ! ***** compute derivatives w.r.t. ground temperature (s m-1 K-1)
+   dGroundResistance_dTGround = -(groundResistanceNeutral*dGroundStabilityCorrection_dSfcTemp)/(groundStabilityCorrection**2._dp)
+
+   ! ***** compute derivatives w.r.t. temperature of the canopy air space (s m-1 K-1)
+   ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+   dCanopyResistance_dTCanair = -dCanopyStabilityCorrection_dCasTemp/(windspd*canopyExNeut*canopyStabilityCorrection**2._dp)
+   ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+   ! (compute derivative in NEUTRAL ground resistance w.r.t. canopy air temperature (s m-1 K-1))
+   dFV_dT = windspd*canopyExNeut*dCanopyStabilityCorrection_dCasTemp/(sqrt(sfc2AtmExchangeCoeff_canopy)*2._dp)                         ! d(frictionVelocity)/d(canopy air temperature)
+   dED_dT = dFV_dT*vkc*(heightCanopyTopAboveSnow - zeroPlaneDisplacement)                                                              ! d(eddyDiffusCanopyTop)d(canopy air temperature)
+   dGR_dT = -dED_dT*(tmp1 - tmp2)*heightCanopyTopAboveSnow*exp(windReductionFactor) / (windReductionFactor*eddyDiffusCanopyTop**2._dp) ! d(groundResistanceNeutral)/d(canopy air temperature)
+   ! (stitch everything together -- product rule)
+   dGroundResistance_dTCanair = dGR_dT/groundStabilityCorrection - groundResistanceNeutral*dGroundStabilityCorrection_dCasTemp/(groundStabilityCorrection**2._dp)
+
+  ! ***** compute resistances for non-vegetated surfaces (e.g., snow)
+  else
+
+   ! set canopy derivatives to zero (non-vegetated, remember)
+   dCanopyResistance_dTCanopy = 0._dp
+   dGroundResistance_dTCanopy = 0._dp
+
+   ! compute derivatives for ground resistance
+   dGroundResistance_dTGround = -dGroundStabilityCorrection_dSfcTemp/(windspd*groundExNeut*groundStabilityCorrection**2._dp)
+
+  end if  ! (switch between vegetated and non-vegetated surfaces)
+
+ ! * analytical derivatives not desired
+ else
+  dGroundResistance_dTGround = missingValue
+  dGroundResistance_dTCanopy = missingValue
+  dCanopyResistance_dTCanopy = missingValue
+ end if
+
+ ! test
+ !print*, 'dGroundResistance_dTGround = ', dGroundResistance_dTGround
+ !print*, 'dGroundResistance_dTCanopy = ', dGroundResistance_dTCanopy
+ !print*, 'dCanopyResistance_dTCanopy = ', dCanopyResistance_dTCanopy
+ !pause 'in aeroResist'
+
+end subroutine aeroResist
+
+
+ ! *******************************************************************************************************
+ ! private subroutine soilResist: compute soil moisture factor controlling stomatal resistance
+ ! *******************************************************************************************************
+ subroutine soilResist(&
+                       ! input (model decisions)
+                       ixSoilResist,             & ! intent(in): choice of function for the soil moisture control on stomatal resistance
+                       ixGroundwater,            & ! intent(in): choice of groundwater representation
+                       ! input (state variables)
+                       mLayerMatricHead,         & ! intent(in): matric head in each layer (m)
+                       mLayerVolFracLiq,         & ! intent(in): volumetric fraction of liquid water in each layer
+                       scalarAquiferStorage,     & ! intent(in): aquifer storage (m)
+                       ! input (diagnostic variables)
+                       mLayerRootDensity,        & ! intent(in): root density in each layer (-)
+                       scalarAquiferRootFrac,    & ! intent(in): fraction of roots below the lowest unsaturated layer (-)
+                       ! input (parameters)
+                       plantWiltPsi,             & ! intent(in): matric head at wilting point (m)
+                       soilStressParam,          & ! intent(in): parameter in the exponential soil stress function (-)
+                       critSoilWilting,          & ! intent(in): critical vol. liq. water content when plants are wilting (-)
+                       critSoilTranspire,        & ! intent(in): critical vol. liq. water content when transpiration is limited (-)
+                       critAquiferTranspire,     & ! intent(in): critical aquifer storage value when transpiration is limited (m)
+                       ! output
+                       wAvgTranspireLimitFac,    & ! intent(out): weighted average of the transpiration limiting factor (-)
+                       mLayerTranspireLimitFac,  & ! intent(out): transpiration limiting factor in each layer (-)
+                       aquiferTranspireLimitFac, & ! intent(out): transpiration limiting factor for the aquifer (-)
+                       err,message)                ! intent(out): error control
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ USE mDecisions_module, only: NoahType,CLM_Type,SiB_Type  ! options for the choice of function for the soil moisture control on stomatal resistance
+ USE mDecisions_module, only: bigBucket                   ! named variable that defines the "bigBucket" groundwater parameterization
+ implicit none
+ ! input (model decisions)
+ integer(i4b),intent(in)       :: ixSoilResist             ! choice of function for the soil moisture control on stomatal resistance
+ integer(i4b),intent(in)       :: ixGroundwater            ! choice of groundwater representation
+ ! input (variables)
+ real(dp),intent(in)           :: mLayerMatricHead(:)      ! matric head in each layer (m)
+ real(dp),intent(in)           :: mLayerVolFracLiq(:)      ! volumetric fraction of liquid water in each layer (-)
+ real(dp),intent(in)           :: scalarAquiferStorage     ! aquifer storage (m)
+ ! input (diagnostic variables)
+ real(dp),intent(in)           :: mLayerRootDensity(:)     ! root density in each layer (-)
+ real(dp),intent(in)           :: scalarAquiferRootFrac    ! fraction of roots below the lowest unsaturated layer (-)
+ ! input (parameters)
+ real(dp),intent(in)           :: plantWiltPsi             ! matric head at wilting point (m)
+ real(dp),intent(in)           :: soilStressParam          ! parameter in the exponential soil stress function (-)
+ real(dp),intent(in)           :: critSoilWilting          ! critical vol. liq. water content when plants are wilting (-)
+ real(dp),intent(in)           :: critSoilTranspire        ! critical vol. liq. water content when transpiration is limited (-)
+ real(dp),intent(in)           :: critAquiferTranspire     ! critical aquifer storage value when transpiration is limited (m)
+ ! output
+ real(dp),intent(out)          :: wAvgTranspireLimitFac    ! intent(out): weighted average of the transpiration limiting factor (-)
+ real(dp),intent(out)          :: mLayerTranspireLimitFac(:)  ! intent(out): transpiration limiting factor in each layer (-)
+ real(dp),intent(out)          :: aquiferTranspireLimitFac ! intent(out): transpiration limiting factor for the aquifer (-)
+ integer(i4b),intent(out)      :: err                      ! error code
+ character(*),intent(out)      :: message                  ! error message
+ ! local variables
+ real(dp)                      :: gx                       ! stress function for the soil layers
+ real(dp),parameter            :: verySmall=epsilon(gx)    ! a very small number
+ integer(i4b)                  :: iLayer                   ! index of soil layer
+ ! initialize error control
+ err=0; message='soilResist/'
+
+ ! ** compute the factor limiting transpiration for each soil layer (-)
+ wAvgTranspireLimitFac = 0._dp  ! (initialize the weighted average)
+ do iLayer=1,size(mLayerMatricHead)
+  ! compute the soil stress function
+  select case(ixSoilResist)
+   case(NoahType)  ! thresholded linear function of volumetric liquid water content
+    gx = (mLayerVolFracLiq(iLayer) - critSoilWilting) / (critSoilTranspire - critSoilWilting)
+   case(CLM_Type)  ! thresholded linear function of matric head
+    if(mLayerMatricHead(iLayer) > plantWiltPsi)then
+     gx = 1._dp - mLayerMatricHead(iLayer)/plantWiltPsi
+    else
+     gx = 0._dp
+    end if
+   case(SiB_Type)  ! exponential of the log of matric head
+    if(mLayerMatricHead(iLayer) < 0._dp)then  ! (unsaturated)
+     gx = 1._dp - exp( -soilStressParam * ( log(plantWiltPsi/mLayerMatricHead(iLayer)) ) )
+    else ! (saturated)
+     gx = 1._dp
+    end if
+   case default    ! check identified the option
+    err=20; message=trim(message)//'cannot identify option for soil resistance'; return
+  end select
+  ! save the factor for the given layer (ensure between zero and one)
+  mLayerTranspireLimitFac(iLayer) = min( max(verySmall,gx), 1._dp)
+  ! compute the weighted average (weighted by root density)
+  wAvgTranspireLimitFac = wAvgTranspireLimitFac + mLayerTranspireLimitFac(iLayer)*mLayerRootDensity(iLayer)
+ end do ! (looping through soil layers)
+
+ ! ** compute the factor limiting evaporation in the aquifer
+ if(scalarAquiferRootFrac > verySmall)then
+  ! check that aquifer root fraction is allowed
+  if(ixGroundwater /= bigBucket)then
+   message=trim(message)//'aquifer evaporation only allowed for the big groundwater bucket -- increase the soil depth to account for roots'
+   err=20; return
+  end if
+  ! compute the factor limiting evaporation for the aquifer
+  aquiferTranspireLimitFac = min(scalarAquiferStorage/critAquiferTranspire, 1._dp)
+ else  ! (if there are roots in the aquifer)
+  aquiferTranspireLimitFac = 0._dp
+ end if
+
+ ! compute the weighted average (weighted by root density)
+ wAvgTranspireLimitFac = wAvgTranspireLimitFac + aquiferTranspireLimitFac*scalarAquiferRootFrac
+
+ end subroutine soilResist
+
+
+ ! ********************************************************************************
+ ! private subroutine turbFluxes: compute turbulent heat fluxes
+ ! ********************************************************************************
+ subroutine turbFluxes(&
+                       ! input: model control
+                       computeVegFlux,                & ! intent(in): logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+                       ixDerivMethod,                 & ! intent(in): choice of method used to compute derivative (analytical or numerical)
+                       ! input: above-canopy forcing data
+                       airtemp,                       & ! intent(in): air temperature at some height above the surface (K)
+                       airpres,                       & ! intent(in): air pressure of the air above the vegetation canopy (Pa)
+                       VPair,                         & ! intent(in): vapor pressure of the air above the vegetation canopy (Pa)
+                       ! input: latent heat of sublimation/vaporization
+                       latHeatSubVapCanopy,           & ! intent(in): latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+                       latHeatSubVapGround,           & ! intent(in): latent heat of sublimation/vaporization for the ground surface (J kg-1)
+                       ! input: canopy and ground temperature
+                       canairTemp,                    & ! intent(in): temperature of the canopy air space (K)
+                       canopyTemp,                    & ! intent(in): canopy temperature (K)
+                       groundTemp,                    & ! intent(in): ground temperature (K)
+                       satVP_CanopyTemp,              & ! intent(in): saturation vapor pressure at the temperature of the veg canopy (Pa)
+                       satVP_GroundTemp,              & ! intent(in): saturation vapor pressure at the temperature of the ground (Pa)
+                       dSVPCanopy_dCanopyTemp,        & ! intent(in): derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
+                       dSVPGround_dGroundTemp,        & ! intent(in): derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
+                       ! input: diagnostic variables
+                       exposedVAI,                    & ! intent(in): exposed vegetation area index -- leaf plus stem (m2 m-2)
+                       canopyWetFraction,             & ! intent(in): fraction of canopy that is wet [0-1]
+                       dCanopyWetFraction_dWat,       & ! intent(in): derivative in the canopy wetted fraction w.r.t. total water content (kg-1 m-2)
+                       dCanopyWetFraction_dT,         & ! intent(in): derivative in wetted fraction w.r.t. canopy temperature (K-1)
+                       canopySunlitLAI,               & ! intent(in): sunlit leaf area (-)
+                       canopyShadedLAI,               & ! intent(in): shaded leaf area (-)
+                       soilRelHumidity,               & ! intent(in): relative humidity in the soil pores [0-1]
+                       soilResistance,                & ! intent(in): resistance from the soil (s m-1)
+                       leafResistance,                & ! intent(in): mean leaf boundary layer resistance per unit leaf area (s m-1)
+                       groundResistance,              & ! intent(in): below canopy aerodynamic resistance (s m-1)
+                       canopyResistance,              & ! intent(in): above canopy aerodynamic resistance (s m-1)
+                       stomResistSunlit,              & ! intent(in): stomatal resistance for sunlit leaves (s m-1)
+                       stomResistShaded,              & ! intent(in): stomatal resistance for shaded leaves (s m-1)
+                       ! input: derivatives in scalar resistances
+                       dGroundResistance_dTGround,    & ! intent(in): derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+                       dGroundResistance_dTCanopy,    & ! intent(in): derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+                       dGroundResistance_dTCanair,    & ! intent(in): derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+                       dCanopyResistance_dTCanopy,    & ! intent(in): derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+                       dCanopyResistance_dTCanair,    & ! intent(in): derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+                       ! output: conductances (used to check derivative calculations)
+                       leafConductance,               & ! intent(out): leaf conductance (m s-1)
+                       canopyConductance,             & ! intent(out): canopy conductance (m s-1)
+                       groundConductanceSH,           & ! intent(out): ground conductance for sensible heat (m s-1)
+                       groundConductanceLH,           & ! intent(out): ground conductance for latent heat -- includes soil resistance (m s-1)
+                       evapConductance,               & ! intent(out): conductance for evaporation (m s-1)
+                       transConductance,              & ! intent(out): conductance for transpiration (m s-1)
+                       totalConductanceSH,            & ! intent(out): total conductance for sensible heat (m s-1)
+                       totalConductanceLH,            & ! intent(out): total conductance for latent heat (m s-1)
+                       ! output: canopy air space variables
+                       VP_CanopyAir,                  & ! intent(out): vapor pressure of the canopy air space (Pa)
+                       ! output: fluxes from the vegetation canopy
+                       senHeatCanopy,                 & ! intent(out): sensible heat flux from the canopy to the canopy air space (W m-2)
+                       latHeatCanopyEvap,             & ! intent(out): latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
+                       latHeatCanopyTrans,            & ! intent(out): latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
+                       ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
+                       senHeatGround,                 & ! intent(out): sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                       latHeatGround,                 & ! intent(out): latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+                       ! output: total heat fluxes to the atmosphere
+                       senHeatTotal,                  & ! intent(out): total sensible heat flux to the atmosphere (W m-2)
+                       latHeatTotal,                  & ! intent(out): total latent heat flux to the atmosphere (W m-2)
+                       ! output: net fluxes
+                       turbFluxCanair,                & ! intent(out): net turbulent heat fluxes at the canopy air space (W m-2)
+                       turbFluxCanopy,                & ! intent(out): net turbulent heat fluxes at the canopy (W m-2)
+                       turbFluxGround,                & ! intent(out): net turbulent heat fluxes at the ground surface (W m-2)
+                       ! output: flux derivatives
+                       dTurbFluxCanair_dTCanair,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                       dTurbFluxCanair_dTCanopy,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+                       dTurbFluxCanair_dTGround,      & ! intent(out): derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+                       dTurbFluxCanopy_dTCanair,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                       dTurbFluxCanopy_dTCanopy,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                       dTurbFluxCanopy_dTGround,      & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                       dTurbFluxGround_dTCanair,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+                       dTurbFluxGround_dTCanopy,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+                       dTurbFluxGround_dTGround,      & ! intent(out): derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+                       ! output: liquid flux derivatives (canopy evap)
+                       dLatHeatCanopyEvap_dCanLiq,    & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
+                       dLatHeatCanopyEvap_dTCanair,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+                       dLatHeatCanopyEvap_dTCanopy,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+                       dLatHeatCanopyEvap_dTGround,   & ! intent(out): derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+                       ! output: liquid flux derivatives (ground evap)
+                       dLatHeatGroundEvap_dCanLiq,    & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
+                       dLatHeatGroundEvap_dTCanair,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy air temperature
+                       dLatHeatGroundEvap_dTCanopy,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. canopy temperature
+                       dLatHeatGroundEvap_dTGround,   & ! intent(out): derivative in latent heat of ground evaporation w.r.t. ground temperature
+                       ! output: cross derivatives
+                       dTurbFluxCanair_dCanLiq,       & ! intent(out): derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                       dTurbFluxCanopy_dCanLiq,       & ! intent(out): derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                       dTurbFluxGround_dCanLiq,       & ! intent(out): derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+                       ! output: error control
+                       err,message                    ) ! intent(out): error control
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ implicit none
+ ! input: model control
+ logical(lgt),intent(in)       :: computeVegFlux        ! logical flag to compute vegetation fluxes (.false. if veg buried by snow)
+ integer(i4b),intent(in)       :: ixDerivMethod         ! choice of method used to compute derivative (analytical or numerical)
+ ! input: above-canopy forcing data
+ real(dp),intent(in)           :: airtemp               ! air temperature at some height above the surface (K)
+ real(dp),intent(in)           :: airpres               ! air pressure of the air above the vegetation canopy (Pa)
+ real(dp),intent(in)           :: VPair                 ! vapor pressure of the air above the vegetation canopy (Pa)
+ ! input: latent heat of sublimation/vaporization
+ real(dp),intent(in)           :: latHeatSubVapCanopy   ! latent heat of sublimation/vaporization for the vegetation canopy (J kg-1)
+ real(dp),intent(in)           :: latHeatSubVapGround   ! latent heat of sublimation/vaporization for the ground surface (J kg-1)
+ ! input: canopy and ground temperature
+ real(dp),intent(in)           :: canairTemp            ! temperature of the canopy air space (K)
+ real(dp),intent(in)           :: canopyTemp            ! canopy temperature (K)
+ real(dp),intent(in)           :: groundTemp            ! ground temperature (K)
+ real(dp),intent(in)           :: satVP_CanopyTemp      ! saturation vapor pressure at the temperature of the veg canopy (Pa)
+ real(dp),intent(in)           :: satVP_GroundTemp      ! saturation vapor pressure at the temperature of the ground (Pa)
+ real(dp),intent(in)           :: dSVPCanopy_dCanopyTemp  ! derivative in canopy saturation vapor pressure w.r.t. canopy temperature (Pa K-1)
+ real(dp),intent(in)           :: dSVPGround_dGroundTemp  ! derivative in ground saturation vapor pressure w.r.t. ground temperature (Pa K-1)
+ ! input: diagnostic variables
+ real(dp),intent(in)           :: exposedVAI            ! exposed vegetation area index -- leaf plus stem (m2 m-2)
+ real(dp),intent(in)           :: canopyWetFraction     ! fraction of canopy that is wet [0-1]
+ real(dp),intent(in)           :: dCanopyWetFraction_dWat ! derivative in the canopy wetted fraction w.r.t. liquid water content (kg-1 m-2)
+ real(dp),intent(in)           :: dCanopyWetFraction_dT   ! derivative in the canopy wetted fraction w.r.t. canopy temperature (K-1)
+ real(dp),intent(in)           :: canopySunlitLAI       ! sunlit leaf area (-)
+ real(dp),intent(in)           :: canopyShadedLAI       ! shaded leaf area (-)
+ real(dp),intent(in)           :: soilRelHumidity       ! relative humidity in the soil pores [0-1]
+ real(dp),intent(in)           :: soilResistance        ! resistance from the soil (s m-1)
+ real(dp),intent(in)           :: leafResistance        ! mean leaf boundary layer resistance per unit leaf area (s m-1)
+ real(dp),intent(in)           :: groundResistance      ! below canopy aerodynamic resistance (s m-1)
+ real(dp),intent(in)           :: canopyResistance      ! above canopy aerodynamic resistance (s m-1)
+ real(dp),intent(in)           :: stomResistSunlit      ! stomatal resistance for sunlit leaves (s m-1)
+ real(dp),intent(in)           :: stomResistShaded      ! stomatal resistance for shaded leaves (s m-1)
+ ! input: derivatives in scalar resistances
+ real(dp),intent(in)            :: dGroundResistance_dTGround       ! derivative in ground resistance w.r.t. ground temperature (s m-1 K-1)
+ real(dp),intent(in)            :: dGroundResistance_dTCanopy       ! derivative in ground resistance w.r.t. canopy temperature (s m-1 K-1)
+ real(dp),intent(in)            :: dGroundResistance_dTCanair       ! derivative in ground resistance w.r.t. canopy air temperature (s m-1 K-1)
+ real(dp),intent(in)            :: dCanopyResistance_dTCanopy       ! derivative in canopy resistance w.r.t. canopy temperature (s m-1 K-1)
+ real(dp),intent(in)            :: dCanopyResistance_dTCanair       ! derivative in canopy resistance w.r.t. canopy air temperature (s m-1 K-1)
+ ! ---------------------------------------------------------------------------------------------------------------------------------------------------------------
+ ! output: conductances -- used to test derivatives
+ real(dp),intent(out)          :: leafConductance              ! leaf conductance (m s-1)
+ real(dp),intent(out)          :: canopyConductance            ! canopy conductance (m s-1)
+ real(dp),intent(out)          :: groundConductanceSH          ! ground conductance for sensible heat (m s-1)
+ real(dp),intent(out)          :: groundConductanceLH          ! ground conductance for latent heat -- includes soil resistance (m s-1)
+ real(dp),intent(out)          :: evapConductance              ! conductance for evaporation (m s-1)
+ real(dp),intent(out)          :: transConductance             ! conductance for transpiration (m s-1)
+ real(dp),intent(out)          :: totalConductanceSH           ! total conductance for sensible heat (m s-1)
+ real(dp),intent(out)          :: totalConductanceLH           ! total conductance for latent heat (m s-1)
+ ! output: canopy air space variables
+ real(dp),intent(out)          :: VP_CanopyAir                 ! vapor pressure of the canopy air space (Pa)
+ ! output: fluxes from the vegetation canopy
+ real(dp),intent(out)          :: senHeatCanopy                ! sensible heat flux from the canopy to the canopy air space (W m-2)
+ real(dp),intent(out)          :: latHeatCanopyEvap            ! latent heat flux associated with evaporation from the canopy to the canopy air space (W m-2)
+ real(dp),intent(out)          :: latHeatCanopyTrans           ! latent heat flux associated with transpiration from the canopy to the canopy air space (W m-2)
+ ! output: fluxes from non-vegetated surfaces (ground surface below vegetation, bare ground, or snow covered vegetation)
+ real(dp),intent(out)          :: senHeatGround                ! sensible heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+ real(dp),intent(out)          :: latHeatGround                ! latent heat flux from ground surface below vegetation, bare ground, or snow covered vegetation (W m-2)
+ ! output: total heat fluxes to the atmosphere
+ real(dp),intent(out)          :: senHeatTotal                 ! total sensible heat flux to the atmosphere (W m-2)
+ real(dp),intent(out)          :: latHeatTotal                 ! total latent heat flux to the atmosphere (W m-2)
+ ! output: net fluxes
+ real(dp),intent(out)          :: turbFluxCanair               ! net turbulent heat fluxes at the canopy air space (W m-2)
+ real(dp),intent(out)          :: turbFluxCanopy               ! net turbulent heat fluxes at the canopy (W m-2)
+ real(dp),intent(out)          :: turbFluxGround               ! net turbulent heat fluxes at the ground surface (W m-2)
+ ! output: energy flux derivatives
+ real(dp),intent(out)          :: dTurbFluxCanair_dTCanair     ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxCanair_dTCanopy     ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxCanair_dTGround     ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxCanopy_dTCanair     ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxCanopy_dTCanopy     ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxCanopy_dTGround     ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxGround_dTCanair     ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxGround_dTCanopy     ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dTurbFluxGround_dTGround     ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+ ! output: liquid flux derivatives (canopy evap)
+ real(dp),intent(out)          :: dLatHeatCanopyEvap_dCanLiq   ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water content (W kg-1)
+ real(dp),intent(out)          :: dLatHeatCanopyEvap_dTCanair  ! derivative in latent heat of canopy evaporation w.r.t. canopy air temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dLatHeatCanopyEvap_dTCanopy  ! derivative in latent heat of canopy evaporation w.r.t. canopy temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dLatHeatCanopyEvap_dTGround  ! derivative in latent heat of canopy evaporation w.r.t. ground temperature (W m-2 K-1)
+ ! output: liquid flux derivatives (ground evap)
+ real(dp),intent(out)          :: dLatHeatGroundEvap_dCanLiq   ! derivative in latent heat of ground evaporation w.r.t. canopy liquid water content (J kg-1 s-1)
+ real(dp),intent(out)          :: dLatHeatGroundEvap_dTCanair  ! derivative in latent heat of ground evaporation w.r.t. canopy air temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dLatHeatGroundEvap_dTCanopy  ! derivative in latent heat of ground evaporation w.r.t. canopy temperature (W m-2 K-1)
+ real(dp),intent(out)          :: dLatHeatGroundEvap_dTGround  ! derivative in latent heat of ground evaporation w.r.t. ground temperature (W m-2 K-1)
+ ! output: cross derivatives
+ real(dp),intent(out)          :: dTurbFluxCanair_dCanLiq      ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+ real(dp),intent(out)          :: dTurbFluxCanopy_dCanLiq      ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+ real(dp),intent(out)          :: dTurbFluxGround_dCanLiq      ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+ ! output: error control
+ integer(i4b),intent(out)      :: err                          ! error code
+ character(*),intent(out)      :: message                      ! error message
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! local variables -- general
+ real(dp)                      :: fpart1,fpart2         ! different parts of a function
+ real(dp)                      :: dPart0,dpart1,dpart2         ! derivatives for different parts of a function
+ ! local variables -- "constants"
+ real(dp)                      :: volHeatCapacityAir           ! volumetric heat capacity of air (J m-3)
+ real(dp)                      :: latentHeatConstant           ! latent heat constant (kg m-3 K-1)
+ ! local variables -- derivatives for energy conductances
+ real(dp)                      :: dEvapCond_dCanopyTemp        ! derivative in evap conductance w.r.t. canopy temperature
+ real(dp)                      :: dTransCond_dCanopyTemp       ! derivative in trans conductance w.r.t. canopy temperature
+ real(dp)                      :: dCanopyCond_dCanairTemp      ! derivative in canopy conductance w.r.t. canopy air temperature
+ real(dp)                      :: dCanopyCond_dCanopyTemp      ! derivative in canopy conductance w.r.t. canopy temperature
+ real(dp)                      :: dGroundCondSH_dCanairTemp    ! derivative in ground conductance of sensible heat w.r.t. canopy air temperature
+ real(dp)                      :: dGroundCondSH_dCanopyTemp    ! derivative in ground conductance of sensible heat w.r.t. canopy temperature
+ real(dp)                      :: dGroundCondSH_dGroundTemp    ! derivative in ground conductance of sensible heat w.r.t. ground temperature
+ ! local variables -- derivatives for mass conductances
+ real(dp)                      :: dGroundCondLH_dCanairTemp    ! derivative in ground conductance w.r.t. canopy air temperature
+ real(dp)                      :: dGroundCondLH_dCanopyTemp    ! derivative in ground conductance w.r.t. canopy temperature
+ real(dp)                      :: dGroundCondLH_dGroundTemp    ! derivative in ground conductance w.r.t. ground temperature
+ ! local variables -- derivatives for the canopy air space variables
+ real(dp)                      :: fPart_VP                     ! part of the function for vapor pressure of the canopy air space
+ real(dp)                      :: leafConductanceTr            ! leaf conductance for transpiration (m s-1)
+ real(dp)                      :: dVPCanopyAir_dTCanair        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the canopy air space
+ real(dp)                      :: dVPCanopyAir_dTCanopy        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the canopy
+ real(dp)                      :: dVPCanopyAir_dTGround        ! derivative in the vapor pressure of the canopy air space w.r.t. temperature of the ground
+ real(dp)                      :: dVPCanopyAir_dWetFrac        ! derivative of vapor pressure in the canopy air space w.r.t. wetted fraction of the canopy
+ real(dp)                      :: dVPCanopyAir_dCanLiq         ! derivative of vapor pressure in the canopy air space w.r.t. canopy liquid water content
+ ! local variables -- sensible heat flux derivatives
+ real(dp)                      :: dSenHeatTotal_dTCanair       ! derivative in the total sensible heat flux w.r.t. canopy air temperature
+ real(dp)                      :: dSenHeatTotal_dTCanopy       ! derivative in the total sensible heat flux w.r.t. canopy air temperature
+ real(dp)                      :: dSenHeatTotal_dTGround       ! derivative in the total sensible heat flux w.r.t. ground temperature
+ real(dp)                      :: dSenHeatCanopy_dTCanair      ! derivative in the canopy sensible heat flux w.r.t. canopy air temperature
+ real(dp)                      :: dSenHeatCanopy_dTCanopy      ! derivative in the canopy sensible heat flux w.r.t. canopy temperature
+ real(dp)                      :: dSenHeatCanopy_dTGround      ! derivative in the canopy sensible heat flux w.r.t. ground temperature
+ real(dp)                      :: dSenHeatGround_dTCanair      ! derivative in the ground sensible heat flux w.r.t. canopy air temperature
+ real(dp)                      :: dSenHeatGround_dTCanopy      ! derivative in the ground sensible heat flux w.r.t. canopy temperature
+ real(dp)                      :: dSenHeatGround_dTGround      ! derivative in the ground sensible heat flux w.r.t. ground temperature
+ ! local variables -- latent heat flux derivatives
+ real(dp)                      :: dLatHeatCanopyTrans_dTCanair ! derivative in the canopy transpiration flux w.r.t. canopy air temperature
+ real(dp)                      :: dLatHeatCanopyTrans_dTCanopy ! derivative in the canopy transpiration flux w.r.t. canopy temperature
+ real(dp)                      :: dLatHeatCanopyTrans_dTGround ! derivative in the canopy transpiration flux w.r.t. ground temperature
+ ! local variables -- wetted fraction derivatives
+ real(dp)                      :: dLatHeatCanopyEvap_dWetFrac  ! derivative in the latent heat of canopy evaporation w.r.t. canopy wet fraction (W m-2)
+ real(dp)                      :: dLatHeatCanopyTrans_dWetFrac ! derivative in the latent heat of canopy transpiration w.r.t. canopy wet fraction (W m-2)
+ real(dp)                      :: dLatHeatCanopyTrans_dCanLiq  ! derivative in the latent heat of canopy transpiration w.r.t. canopy liquid water (J kg-1 s-1)
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! initialize error control
+ err=0; message='turbFluxes/'
+
+ ! compute constants
+ volHeatCapacityAir = iden_air*cp_air           ! volumetric heat capacity of air (J m-3)
+ latentHeatConstant = iden_air*w_ratio/airpres  ! latent heat constant for (kg m-3 Pa-1)
+
+ ! *****
+ ! * compute conductances, and derivatives...
+ ! ******************************************
+
+ ! compute conductances for sensible heat (m s-1)
+ if(computeVegFlux)then
+  leafConductance    = exposedVAI/leafResistance
+  leafConductanceTr  = canopySunlitLAI/(leafResistance+stomResistSunlit) + canopyShadedLAI/(leafResistance+stomResistShaded)
+  canopyConductance  = 1._dp/canopyResistance
+ else
+  leafConductance    = 0._dp
+  canopyConductance  = 0._dp
+ end if
+ groundConductanceSH = 1._dp/groundResistance
+
+ ! compute total conductance for sensible heat
+ totalConductanceSH  = leafConductance + groundConductanceSH + canopyConductance
+
+ ! compute conductances for latent heat (m s-1)
+ if(computeVegFlux)then
+  evapConductance    = canopyWetFraction*leafConductance
+  transConductance   = (1._dp - canopyWetFraction) * leafConductanceTr
+  !write(*,'(a,10(f14.8,1x))') 'canopySunlitLAI, canopyShadedLAI, stomResistSunlit, stomResistShaded, leafResistance, canopyWetFraction = ', &
+  !                             canopySunlitLAI, canopyShadedLAI, stomResistSunlit, stomResistShaded, leafResistance, canopyWetFraction
+ else
+  evapConductance    = 0._dp
+  transConductance   = 0._dp
+ end if
+ groundConductanceLH = 1._dp/(groundResistance + soilResistance)  ! NOTE: soilResistance accounts for fractional snow, and =0 when snow cover is 100%
+ totalConductanceLH  = evapConductance + transConductance + groundConductanceLH + canopyConductance
+ ! check sensible heat conductance
+ if(totalConductanceSH < -tinyVal .or. groundConductanceSH < -tinyVal .or. canopyConductance < -tinyVal)then
+  message=trim(message)//'negative conductance for sensible heat'
+  err=20; return
+ endif
+
+ ! check latent heat conductance
+ if(totalConductanceLH < tinyVal .or. groundConductanceLH < -tinyVal)then
+  message=trim(message)//'negative conductance for latent heat'
+  err=20; return
+ endif
+
+ ! * compute derivatives
+ ! NOTE: it may be more efficient to compute these derivatives when computing resistances
+ if(ixDerivMethod == analytical)then
+
+  ! compute derivatives in individual conductances for sensible heat w.r.t. canopy temperature (m s-1 K-1)
+  if(computeVegFlux)then
+   dEvapCond_dCanopyTemp     = dCanopyWetFraction_dT*leafConductance                       ! derivative in evap conductance w.r.t. canopy temperature
+   dTransCond_dCanopyTemp    = -dCanopyWetFraction_dT*leafConductanceTr                    ! derivative in trans conductance w.r.t. canopy temperature
+   dCanopyCond_dCanairTemp   = -dCanopyResistance_dTCanair/canopyResistance**2._dp         ! derivative in canopy conductance w.r.t. canopy air emperature
+   dCanopyCond_dCanopyTemp   = -dCanopyResistance_dTCanopy/canopyResistance**2._dp         ! derivative in canopy conductance w.r.t. canopy temperature
+   dGroundCondSH_dCanairTemp = -dGroundResistance_dTCanair/groundResistance**2._dp         ! derivative in ground conductance w.r.t. canopy air temperature
+   dGroundCondSH_dCanopyTemp = -dGroundResistance_dTCanopy/groundResistance**2._dp         ! derivative in ground conductance w.r.t. canopy temperature
+   dGroundCondSH_dGroundTemp = -dGroundResistance_dTGround/groundResistance**2._dp         ! derivative in ground conductance w.r.t. ground temperature
+  else
+   dEvapCond_dCanopyTemp     = 0._dp  ! derivative in evap conductance w.r.t. canopy temperature
+   dTransCond_dCanopyTemp    = 0._dp  ! derivative in trans conductance w.r.t. canopy temperature
+   dCanopyCond_dCanairTemp   = 0._dp  ! derivative in canopy conductance w.r.t. canopy air emperature
+   dCanopyCond_dCanopyTemp   = 0._dp  ! derivative in canopy conductance w.r.t. canopy temperature
+   dGroundCondSH_dCanairTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy air temperature
+   dGroundCondSH_dCanopyTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy temperature
+   dGroundCondSH_dGroundTemp = -dGroundResistance_dTGround/groundResistance**2._dp         ! derivative in ground conductance w.r.t. ground temperature
+  end if
+
+  ! compute derivatives in individual conductances for latent heat w.r.t. canopy temperature (m s-1 K-1)
+  if(computeVegFlux)then
+   dGroundCondLH_dCanairTemp = -dGroundResistance_dTCanair/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. canopy air temperature
+   dGroundCondLH_dCanopyTemp = -dGroundResistance_dTCanopy/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. canopy temperature
+   dGroundCondLH_dGroundTemp = -dGroundResistance_dTGround/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. ground temperature
+  else
+   dGroundCondLH_dCanairTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy air temperature
+   dGroundCondLH_dCanopyTemp = 0._dp  ! derivative in ground conductance w.r.t. canopy temperature
+   dGroundCondLH_dGroundTemp = -dGroundResistance_dTGround/(groundResistance+soilResistance)**2._dp ! derivative in ground conductance w.r.t. ground temperature
+  end if
+
+ end if ! (if computing analytical derivatives)
+
+ ! *****
+ ! * compute sensible and latent heat fluxes, and derivatives...
+ ! *************************************************************
+
+ ! * compute sensible and latent heat fluxes from the canopy to the canopy air space (W m-2)
+ if(computeVegFlux)then
+
+  ! compute the vapor pressure in the canopy air space (Pa)
+  fPart_VP     = canopyConductance*VPair + (evapConductance + transConductance)*satVP_CanopyTemp + groundConductanceLH*satVP_GroundTemp*soilRelHumidity
+  VP_CanopyAir = fPart_VP/totalConductanceLH
+  !write(*,'(a,10(f20.10,1x))') 'canopyConductance, evapConductance, transConductance, groundConductanceLH, soilRelHumidity = ', &
+  !                              canopyConductance, evapConductance, transConductance, groundConductanceLH, soilRelHumidity
+
+  ! compute sensible heat flux from the canopy air space to the atmosphere
+  ! NOTE: canairTemp is a state variable
+  senHeatTotal = -volHeatCapacityAir*canopyConductance*(canairTemp - airtemp)
+  !print*, 'canairTemp, airtemp, senHeatTotal = ', canairTemp, airtemp, senHeatTotal
+
+  ! compute fluxes
+  senHeatCanopy      = -volHeatCapacityAir*leafConductance*(canopyTemp - canairTemp)        ! (positive downwards)
+  latHeatCanopyEvap  = -latHeatSubVapCanopy*latentHeatConstant*evapConductance*(satVP_CanopyTemp - VP_CanopyAir)    ! (positive downwards)
+  latHeatCanopyTrans =              -LH_vap*latentHeatConstant*transConductance*(satVP_CanopyTemp - VP_CanopyAir)   ! (positive downwards)
+  !write(*,'(a,10(f25.15,1x))') 'latHeatCanopyEvap, VP_CanopyAir = ', latHeatCanopyEvap, VP_CanopyAir
+  !write(*,'(a,10(f25.15,1x))') 'latHeatCanopyTrans, VP_CanopyAir = ', latHeatCanopyTrans, VP_CanopyAir
+  !write(*,'(a,10(f25.15,1x))') 'transConductance = ', transConductance
+
+  ! check that energy for canopy evaporation does not exhaust the available water
+  ! NOTE: do this here, rather than enforcing solution constraints, because energy and mass solutions may be uncoupled
+  !if(latHeatSubVapCanopy > LH_vap+verySmall)then ! (sublimation)
+  ! maxFlux = -canopyIce*LH_sub/dt       ! W m-2
+  !else ! (evaporation)
+  ! maxFlux = -canopyLiquid*LH_vap/dt    ! W m-2
+  !end if
+  ! NOTE: fluxes are positive downwards
+  !if(latHeatCanopyEvap < maxFlux) latHeatCanopyEvap = maxFlux
+  !write(*,'(a,10(f20.10,1x))') 'maxFlux, latHeatCanopyEvap = ', maxFlux, latHeatCanopyEvap
+
+ ! * no vegetation, so fluxes are zero
+ else
+  senHeatCanopy      = 0._dp
+  latHeatCanopyEvap  = 0._dp
+  latHeatCanopyTrans = 0._dp
+ end if
+
+ ! compute sensible and latent heat fluxes from the ground to the canopy air space (W m-2)
+ if(computeVegFlux)then
+  senHeatGround      = -volHeatCapacityAir*groundConductanceSH*(groundTemp - canairTemp)                                          ! (positive downwards)
+  latHeatGround      = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH*(satVP_GroundTemp*soilRelHumidity - VP_CanopyAir)  ! (positive downwards)
+ else
+  senHeatGround      = -volHeatCapacityAir*groundConductanceSH*(groundTemp - airtemp)                                                 ! (positive downwards)
+  latHeatGround      = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH*(satVP_GroundTemp*soilRelHumidity - VPair)         ! (positive downwards)
+  senHeatTotal       = senHeatGround
+ end if
+!  print*, "-volHeatCapacitAir = ", volHeatCapacityAir
+!  print*, "groundConductanceSH = ", groundConductanceSH
+!  print*, "groundTemp = ", groundTemp
+!  print*, "canairTemp = ", canairTemp
+!  print*, "latHeatSubVapGround", -latHeatSubVapGround
+!  print*, "latentHeatConstant", latentHeatConstant
+!  print*, "groundConductanceLH", groundConductanceLH
+!  print*, "satVP_GroundTemp", satVP_GroundTemp
+!  print*, "soilRelHumidity", soilRelHumidity
+!  print*, "VP_CanopyAir", VP_CanopyAir
+
+
+!  write(*,'(a,10(f25.15,1x))') 'latHeatGround = ', latHeatGround
+
+ ! compute latent heat flux from the canopy air space to the atmosphere
+ ! NOTE: VP_CanopyAir is a diagnostic variable
+ latHeatTotal = latHeatCanopyEvap + latHeatCanopyTrans + latHeatGround
+
+ ! * compute derivatives
+ if(ixDerivMethod == analytical)then
+
+  ! differentiate CANOPY fluxes
+  if(computeVegFlux)then
+
+   ! compute derivatives of vapor pressure in the canopy air space w.r.t. all state variables
+   ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the canopy air space)
+   dPart1 = dCanopyCond_dCanairTemp*VPair + dGroundCondLH_dCanairTemp*satVP_GroundTemp*soilRelHumidity
+   dPart2 = -(dCanopyCond_dCanairTemp + dGroundCondLH_dCanairTemp)/(totalConductanceLH**2._dp)
+   dVPCanopyAir_dTCanair = dPart1/totalConductanceLH + fPart_VP*dPart2
+   ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the canopy)
+   dPart0 = (evapConductance + transConductance)*dSVPCanopy_dCanopyTemp + (dEvapCond_dCanopyTemp + dTransCond_dCanopyTemp)*satVP_CanopyTemp
+   dPart1 = dCanopyCond_dCanopyTemp*VPair + dPart0 + dGroundCondLH_dCanopyTemp*satVP_GroundTemp*soilRelHumidity
+   dPart2 = -(dCanopyCond_dCanopyTemp + dEvapCond_dCanopyTemp + dTransCond_dCanopyTemp + dGroundCondLH_dCanopyTemp)/(totalConductanceLH**2._dp)
+   dVPCanopyAir_dTCanopy = dPart1/totalConductanceLH + fPart_VP*dPart2
+   ! (derivative of vapor pressure in the canopy air space w.r.t. temperature of the ground)
+   dPart1 = dGroundCondLH_dGroundTemp*satVP_GroundTemp*soilRelHumidity + groundConductanceLH*dSVPGround_dGroundTemp*soilRelHumidity
+   dPart2 = -dGroundCondLH_dGroundTemp/(totalConductanceLH**2._dp)
+   dVPCanopyAir_dTGround = dPart1/totalConductanceLH + fPart_VP*dPart2
+   ! (derivative of vapor pressure in the canopy air space w.r.t. wetted fraction of the canopy)
+   dPart1 = (leafConductance - leafConductanceTr)*satVP_CanopyTemp
+   dPart2 = -(leafConductance - leafConductanceTr)/(totalConductanceLH**2._dp)
+   dVPCanopyAir_dWetFrac = dPart1/totalConductanceLH + fPart_VP*dPart2
+   dVPCanopyAir_dCanLiq  = dVPCanopyAir_dWetFrac*dCanopyWetFraction_dWat
+   !write(*,'(a,5(f20.8,1x))') 'dVPCanopyAir_dTCanair, dVPCanopyAir_dTCanopy, dVPCanopyAir_dTGround, dVPCanopyAir_dWetFrac, dVPCanopyAir_dCanLiq = ', &
+   !                            dVPCanopyAir_dTCanair, dVPCanopyAir_dTCanopy, dVPCanopyAir_dTGround, dVPCanopyAir_dWetFrac, dVPCanopyAir_dCanLiq
+
+   ! sensible heat from the canopy to the atmosphere
+   dSenHeatTotal_dTCanair       = -volHeatCapacityAir*canopyConductance - volHeatCapacityAir*dCanopyCond_dCanairTemp*(canairTemp - airtemp)
+   dSenHeatTotal_dTCanopy       = -volHeatCapacityAir*dCanopyCond_dCanopyTemp*(canairTemp - airtemp)
+   dSenHeatTotal_dTGround       = 0._dp
+   !write(*,'(a,3(f20.8,1x))') 'dSenHeatTotal_dTCanair, dSenHeatTotal_dTCanopy, dSenHeatTotal_dTGround                   = ', &
+   !                            dSenHeatTotal_dTCanair, dSenHeatTotal_dTCanopy, dSenHeatTotal_dTGround
+
+   ! sensible heat from the canopy to the canopy air space
+   dSenHeatCanopy_dTCanair      =  volHeatCapacityAir*leafConductance
+   dSenHeatCanopy_dTCanopy      = -volHeatCapacityAir*leafConductance
+   dSenHeatCanopy_dTGround      = 0._dp
+   !write(*,'(a,3(f20.8,1x))') 'dSenHeatCanopy_dTCanair, dSenHeatCanopy_dTCanopy, dSenHeatCanopy_dTGround                = ', &
+   !                            dSenHeatCanopy_dTCanair, dSenHeatCanopy_dTCanopy, dSenHeatCanopy_dTGround
+
+   ! sensible heat from the ground to the canopy air space
+   dSenHeatGround_dTCanair      = -volHeatCapacityAir*dGroundCondSH_dCanairTemp*(groundTemp - canairTemp) + volHeatCapacityAir*groundConductanceSH
+   dSenHeatGround_dTCanopy      = -volHeatCapacityAir*dGroundCondSH_dCanopyTemp*(groundTemp - canairTemp)
+   dSenHeatGround_dTGround      = -volHeatCapacityAir*dGroundCondSH_dGroundTemp*(groundTemp - canairTemp) - volHeatCapacityAir*groundConductanceSH
+   !write(*,'(a,3(f20.8,1x))') 'dSenHeatGround_dTCanair, dSenHeatGround_dTCanopy, dSenHeatGround_dTGround                = ', &
+   !                            dSenHeatGround_dTCanair, dSenHeatGround_dTCanopy, dSenHeatGround_dTGround
+
+   ! latent heat associated with canopy evaporation
+   ! (initial calculations)
+   fPart1 = -latHeatSubVapCanopy*latentHeatConstant*evapConductance
+   dPart1 = -latHeatSubVapCanopy*latentHeatConstant*dEvapCond_dCanopyTemp
+   fPart2 = satVP_CanopyTemp - VP_CanopyAir
+   dPart2 = dSVPCanopy_dCanopyTemp - dVPCanopyAir_dTCanopy
+   ! (derivatives)
+   dLatHeatCanopyEvap_dTCanair  = fPart1*(-dVPCanopyAir_dTCanair)
+   dLatHeatCanopyEvap_dTCanopy  = fPart1*dpart2 + fPart2*dPart1
+   dLatHeatCanopyEvap_dTGround  = fPart1*(-dVPCanopyAir_dTGround)
+   !write(*,'(a,3(f20.8,1x))') 'dLatHeatCanopyEvap_dTCanair, dLatHeatCanopyEvap_dTCanopy, dLatHeatCanopyEvap_dTGround    = ', &
+   !                            dLatHeatCanopyEvap_dTCanair, dLatHeatCanopyEvap_dTCanopy, dLatHeatCanopyEvap_dTGround
+
+   ! latent heat associated with canopy transpiration
+   ! (initial calculations)
+   fPart1 = -LH_vap*latentHeatConstant*transConductance
+   dPart1 = -LH_vap*latentHeatConstant*dTransCond_dCanopyTemp
+   ! (derivatives)
+   dLatHeatCanopyTrans_dTCanair = fPart1*(-dVPCanopyAir_dTCanair)
+   dLatHeatCanopyTrans_dTCanopy = fPart1*dPart2 + fPart2*dPart1
+   dLatHeatCanopyTrans_dTGround = fPart1*(-dVPCanopyAir_dTGround)
+   !write(*,'(a,3(f20.8,1x))') 'dLatHeatCanopyTrans_dTCanair, dLatHeatCanopyTrans_dTCanopy, dLatHeatCanopyTrans_dTGround = ', &
+   !                            dLatHeatCanopyTrans_dTCanair, dLatHeatCanopyTrans_dTCanopy, dLatHeatCanopyTrans_dTGround
+
+   ! latent heat flux from the ground
+   fPart1 = -latHeatSubVapGround*latentHeatConstant*groundConductanceLH       ! function of the first part
+   fPart2 = (satVP_GroundTemp*soilRelHumidity - VP_CanopyAir)                 ! function of the second part
+   dLatHeatGroundEvap_dTCanair = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dCanairTemp*fPart2 - dVPCanopyAir_dTCanair*fPart1
+   dLatHeatGroundEvap_dTCanopy = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dCanopyTemp*fPart2 - dVPCanopyAir_dTCanopy*fPart1
+   dLatHeatGroundEvap_dTGround = -latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dGroundTemp*fPart2 + (dSVPGround_dGroundTemp*soilRelHumidity - dVPCanopyAir_dTGround)*fPart1
+   !write(*,'(a,3(f20.8,1x))') 'dLatHeatGroundEvap_dTCanair, dLatHeatGroundEvap_dTCanopy, dLatHeatGroundEvap_dTGround                = ', &
+   !                            dLatHeatGroundEvap_dTCanair, dLatHeatGroundEvap_dTCanopy, dLatHeatGroundEvap_dTGround
+
+   ! latent heat associated with canopy evaporation w.r.t. wetted fraction of the canopy
+   dPart1 = -latHeatSubVapCanopy*latentHeatConstant*leafConductance
+   fPart1 = dPart1*canopyWetFraction
+   dLatHeatCanopyEvap_dWetFrac  = dPart1*(satVP_CanopyTemp - VP_CanopyAir) + fPart1*(-dVPCanopyAir_dWetFrac)
+
+   ! latent heat associated with canopy transpiration w.r.t. wetted fraction of the canopy
+   dPart1 = LH_vap*latentHeatConstant*leafConductanceTr  ! NOTE: positive, since (1 - wetFrac)
+   fPart1 = -dPart1*(1._dp - canopyWetFraction)
+   dLatHeatCanopyTrans_dWetFrac = dPart1*(satVP_CanopyTemp - VP_CanopyAir) + fPart1*(-dVPCanopyAir_dWetFrac)
+   !print*, 'dLatHeatCanopyTrans_dWetFrac = ', dLatHeatCanopyTrans_dWetFrac
+
+   ! latent heat associated with canopy transpiration w.r.t. canopy liquid water
+   dLatHeatCanopyTrans_dCanLiq = dLatHeatCanopyTrans_dWetFrac*dCanopyWetFraction_dWat ! (J s-1 kg-1)
+   !print*, 'dLatHeatCanopyTrans_dCanLiq = ', dLatHeatCanopyTrans_dCanLiq
+
+  else  ! canopy is undefined
+
+   ! set derivatives for canopy fluxes to zero (no canopy, so fluxes are undefined)
+   dSenHeatTotal_dTCanair       = 0._dp
+   dSenHeatTotal_dTCanopy       = 0._dp
+   dSenHeatTotal_dTGround       = 0._dp
+   dSenHeatCanopy_dTCanair      = 0._dp
+   dSenHeatCanopy_dTCanopy      = 0._dp
+   dSenHeatCanopy_dTGround      = 0._dp
+   dLatHeatCanopyEvap_dTCanair  = 0._dp
+   dLatHeatCanopyEvap_dTCanopy  = 0._dp
+   dLatHeatCanopyEvap_dTGround  = 0._dp
+   dLatHeatCanopyTrans_dTCanair = 0._dp
+   dLatHeatCanopyTrans_dTCanopy = 0._dp
+   dLatHeatCanopyTrans_dTGround = 0._dp
+
+   ! set derivatives for wetted area and canopy transpiration to zero (no canopy, so fluxes are undefined)
+   dLatHeatCanopyEvap_dWetFrac  = 0._dp
+   dLatHeatCanopyEvap_dCanLiq   = 0._dp
+   dLatHeatCanopyTrans_dCanLiq  = 0._dp
+   dVPCanopyAir_dCanLiq         = 0._dp
+
+   ! set derivatives for ground fluxes w.r.t canopy temperature to zero (no canopy, so fluxes are undefined)
+   dSenHeatGround_dTCanair     = 0._dp
+   dSenHeatGround_dTCanopy     = 0._dp
+   dLatHeatGroundEvap_dTCanair = 0._dp
+   dLatHeatGroundEvap_dTCanopy = 0._dp
+
+   ! compute derivatives for the ground fluxes w.r.t. ground temperature
+   dSenHeatGround_dTGround     = (-volHeatCapacityAir*dGroundCondSH_dGroundTemp)*(groundTemp - airtemp) + &                                               ! d(ground sensible heat flux)/d(ground temp)
+                                 (-volHeatCapacityAir*groundConductanceSH)
+   dLatHeatGroundEvap_dTGround = (-latHeatSubVapGround*latentHeatConstant*dGroundCondLH_dGroundTemp)*(satVP_GroundTemp*soilRelHumidity - VPair) + &       ! d(ground latent heat flux)/d(ground temp)
+                                 (-latHeatSubVapGround*latentHeatConstant*groundConductanceLH)*dSVPGround_dGroundTemp*soilRelHumidity
+
+   !print*, 'dGroundCondLH_dGroundTemp = ', dGroundCondLH_dGroundTemp
+
+  end if   ! (if canopy is defined)
+
+ end if  ! (if computing analytical derivatives)
+
+
+ ! *****
+ ! * compute net turbulent fluxes, and derivatives...
+ ! **************************************************
+
+ ! compute net fluxes
+ turbFluxCanair = senHeatTotal - senHeatCanopy - senHeatGround            ! net turbulent flux at the canopy air space (W m-2)
+ turbFluxCanopy = senHeatCanopy + latHeatCanopyEvap + latHeatCanopyTrans  ! net turbulent flux at the canopy (W m-2)
+ turbFluxGround = senHeatGround + latHeatGround                           ! net turbulent flux at the ground surface (W m-2)
+ !write(*,'(a,1x,3(f20.10,1x))') 'senHeatCanopy, latHeatCanopyEvap, latHeatCanopyTrans = ', senHeatCanopy, latHeatCanopyEvap, latHeatCanopyTrans
+
+  ! * compute derivatives
+ if(ixDerivMethod == analytical)then
+  ! (energy derivatives)
+  dTurbFluxCanair_dTCanair = dSenHeatTotal_dTCanair - dSenHeatCanopy_dTCanair - dSenHeatGround_dTCanair            ! derivative in net canopy air space fluxes w.r.t. canopy air temperature (W m-2 K-1)
+  dTurbFluxCanair_dTCanopy = dSenHeatTotal_dTCanopy - dSenHeatCanopy_dTCanopy - dSenHeatGround_dTCanopy            ! derivative in net canopy air space fluxes w.r.t. canopy temperature (W m-2 K-1)
+  dTurbFluxCanair_dTGround = dSenHeatTotal_dTGround - dSenHeatCanopy_dTGround - dSenHeatGround_dTGround            ! derivative in net canopy air space fluxes w.r.t. ground temperature (W m-2 K-1)
+  dTurbFluxCanopy_dTCanair = dSenHeatCanopy_dTCanair + dLatHeatCanopyEvap_dTCanair + dLatHeatCanopyTrans_dTCanair  ! derivative in net canopy turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+  dTurbFluxCanopy_dTCanopy = dSenHeatCanopy_dTCanopy + dLatHeatCanopyEvap_dTCanopy + dLatHeatCanopyTrans_dTCanopy  ! derivative in net canopy turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+  dTurbFluxCanopy_dTGround = dSenHeatCanopy_dTGround + dLatHeatCanopyEvap_dTGround + dLatHeatCanopyTrans_dTGround  ! derivative in net canopy turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+  dTurbFluxGround_dTCanair = dSenHeatGround_dTCanair + dLatHeatGroundEvap_dTCanair                                 ! derivative in net ground turbulent fluxes w.r.t. canopy air temperature (W m-2 K-1)
+  dTurbFluxGround_dTCanopy = dSenHeatGround_dTCanopy + dLatHeatGroundEvap_dTCanopy                                 ! derivative in net ground turbulent fluxes w.r.t. canopy temperature (W m-2 K-1)
+  dTurbFluxGround_dTGround = dSenHeatGround_dTGround + dLatHeatGroundEvap_dTGround                                 ! derivative in net ground turbulent fluxes w.r.t. ground temperature (W m-2 K-1)
+  ! (liquid water derivatives)
+  dLatHeatCanopyEvap_dCanLiq = dLatHeatCanopyEvap_dWetFrac*dCanopyWetFraction_dWat                                 ! derivative in latent heat of canopy evaporation w.r.t. canopy liquid water (W kg-1)
+  dLatHeatGroundEvap_dCanLiq = latHeatSubVapGround*latentHeatConstant*groundConductanceLH*dVPCanopyAir_dCanLiq     ! derivative in latent heat of ground evaporation w.r.t. canopy liquid water (J kg-1 s-1)
+  ! (cross deriavtives)
+  dTurbFluxCanair_dCanLiq  = 0._dp                                                                                 ! derivative in net canopy air space fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+  dTurbFluxCanopy_dCanLiq  = dLatHeatCanopyEvap_dCanLiq + dLatHeatCanopyTrans_dCanLiq                              ! derivative in net canopy turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+  dTurbFluxGround_dCanLiq  = dLatHeatGroundEvap_dCanLiq                                                            ! derivative in net ground turbulent fluxes w.r.t. canopy liquid water content (J kg-1 s-1)
+ else ! (just make sure we return something)
+  ! (energy derivatives)
+  dTurbFluxCanair_dTCanair = 0._dp
+  dTurbFluxCanair_dTCanopy = 0._dp
+  dTurbFluxCanair_dTGround = 0._dp
+  dTurbFluxCanopy_dTCanair = 0._dp
+  dTurbFluxCanopy_dTCanopy = 0._dp
+  dTurbFluxCanopy_dTGround = 0._dp
+  dTurbFluxGround_dTCanair = 0._dp
+  dTurbFluxGround_dTCanopy = 0._dp
+  dTurbFluxGround_dTGround = 0._dp
+  ! (liquid water derivatives)
+  dLatHeatCanopyEvap_dCanLiq   = 0._dp
+  dLatHeatGroundEvap_dCanLiq   = 0._dp
+  ! (cross deriavtives)
+  dTurbFluxCanair_dCanLiq  = 0._dp
+  dTurbFluxCanopy_dCanLiq  = 0._dp
+  dTurbFluxGround_dCanLiq  = 0._dp
+ end if
+
+ end subroutine turbFluxes
+
+
+ ! *******************************************************************************************************
+ ! private subroutine aStability: compute stability corrections for turbulent heat fluxes (-)
+ ! *******************************************************************************************************
+ subroutine aStability(&
+                       ! input: control
+                       computeDerivative,              & ! input: logical flag to compute analytical derivatives
+                       ixStability,                    & ! input: choice of stability function
+                       ! input: forcing data, diagnostic and state variables
+                       mHeight,                        & ! input: measurement height (m)
+                       airTemp,                        & ! input: air temperature (K)
+                       sfcTemp,                        & ! input: surface temperature (K)
+                       windspd,                        & ! input: wind speed (m s-1)
+                       ! input: stability parameters
+                       critRichNumber,                 & ! input: critical value for the bulk Richardson number where turbulence ceases (-)
+                       Louis79_bparam,                 & ! input: parameter in Louis (1979) stability function
+                       Mahrt87_eScale,                 & ! input: exponential scaling factor in the Mahrt (1987) stability function
+                       ! output
+                       RiBulk,                         & ! output: bulk Richardson number (-)
+                       stabilityCorrection,            & ! output: stability correction for turbulent heat fluxes (-)
+                       dStabilityCorrection_dRich,     & ! output: derivative in stability correction w.r.t. Richardson number (-)
+                       dStabilityCorrection_dAirTemp,  & ! output: derivative in stability correction w.r.t. temperature (K-1)
+                       dStabilityCorrection_dSfcTemp,  & ! output: derivative in stability correction w.r.t. temperature (K-1)
+                       err, message                    ) ! output: error control
+ implicit none
+ ! input: control
+ logical(lgt),intent(in)       :: computeDerivative      ! flag to compute the derivative
+ integer(i4b),intent(in)       :: ixStability            ! choice of stability function
+ ! input: forcing data, diagnostic and state variables
+ real(dp),intent(in)           :: mHeight                ! measurement height (m)
+ real(dp),intent(in)           :: airtemp                ! air temperature (K)
+ real(dp),intent(in)           :: sfcTemp                ! surface temperature (K)
+ real(dp),intent(in)           :: windspd                ! wind speed (m s-1)
+ ! input: stability parameters
+ real(dp),intent(in)           :: critRichNumber         ! critical value for the bulk Richardson number where turbulence ceases (-)
+ real(dp),intent(in)           :: Louis79_bparam         ! parameter in Louis (1979) stability function
+ real(dp),intent(in)           :: Mahrt87_eScale         ! exponential scaling factor in the Mahrt (1987) stability function
+ ! output
+ real(dp),intent(out)          :: RiBulk                 ! bulk Richardson number (-)
+ real(dp),intent(out)          :: stabilityCorrection    ! stability correction for turbulent heat fluxes (-)
+ real(dp),intent(out)          :: dStabilityCorrection_dRich    ! derivative in stability correction w.r.t. Richardson number (-)
+ real(dp),intent(out)          :: dStabilityCorrection_dAirTemp ! derivative in stability correction w.r.t. air temperature (K-1)
+ real(dp),intent(out)          :: dStabilityCorrection_dSfcTemp ! derivative in stability correction w.r.t. surface temperature (K-1)
+ integer(i4b),intent(out)      :: err                    ! error code
+ character(*),intent(out)      :: message                ! error message
+ ! local
+ real(dp), parameter           :: verySmall=1.e-10_dp    ! a very small number (avoid stability of zero)
+ real(dp)                      :: dRiBulk_dAirTemp       ! derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+ real(dp)                      :: dRiBulk_dSfcTemp       ! derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+ real(dp)                      :: bPrime                 ! scaled "b" parameter for stability calculations in Louis (1979)
+ ! -----------------------------------------------------------------------------------------------------------------------------------------
+ ! initialize error control
+ err=0; message='aStability/'
+
+ ! compute the bulk Richardson number (-)
+ call bulkRichardson(&
+                     ! input
+                     airTemp,                        & ! input: air temperature (K)
+                     sfcTemp,                        & ! input: surface temperature (K)
+                     windspd,                        & ! input: wind speed (m s-1)
+                     mHeight,                        & ! input: measurement height (m)
+                     computeDerivative,              & ! input: flag to compute the derivative
+                     ! output
+                     RiBulk,                         & ! output: bulk Richardson number (-)
+                     dRiBulk_dAirTemp,               & ! output: derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+                     dRiBulk_dSfcTemp,               & ! output: derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+                     err,message)                      ! output: error control
+
+ ! set derivative to one if not computing it
+ if(.not.computeDerivative)then
+  dStabilityCorrection_dRich    = 1._dp
+  dStabilityCorrection_dAirTemp = 1._dp
+  dStabilityCorrection_dSfcTemp = 1._dp
+ end if
+
+ ! ***** process unstable cases
+ if(RiBulk<0._dp)then
+  ! compute surface-atmosphere exchange coefficient (-)
+  stabilityCorrection = (1._dp - 16._dp*RiBulk)**0.5_dp
+  ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+  if(computeDerivative)then
+   dStabilityCorrection_dRich    = (-16._dp) * 0.5_dp*(1._dp - 16._dp*RiBulk)**(-0.5_dp)
+   dStabilityCorrection_dAirTemp = dRiBulk_dAirTemp * dStabilityCorrection_dRich
+   dStabilityCorrection_dSfcTemp = dRiBulk_dSfcTemp * dStabilityCorrection_dRich
+  end if
+  return
+ end if
+
+ ! ***** process stable cases
+ select case(ixStability)
+
+  ! ("standard" stability correction, a la Anderson 1976)
+  case(standard)
+   ! compute surface-atmosphere exchange coefficient (-)
+   if(RiBulk <  critRichNumber) stabilityCorrection = (1._dp - 5._dp*RiBulk)**2._dp
+   if(RiBulk >= critRichNumber) stabilityCorrection = verySmall
+   ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+   if(computeDerivative)then
+    if(RiBulk <  critRichNumber) dStabilityCorrection_dRich = (-5._dp) * 2._dp*(1._dp - 5._dp*RiBulk)
+    if(RiBulk >= critRichNumber) dStabilityCorrection_dRich = verySmall
+   end if
+
+  ! (Louis 1979)
+  case(louisInversePower)
+   ! scale the "b" parameter for stable conditions
+   bprime = Louis79_bparam/2._dp
+   ! compute surface-atmosphere exchange coefficient (-)
+   stabilityCorrection = 1._dp / ( (1._dp + bprime*RiBulk)**2._dp )
+   if(stabilityCorrection < epsilon(stabilityCorrection)) stabilityCorrection = epsilon(stabilityCorrection)
+   ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+   if(computeDerivative)then
+    dStabilityCorrection_dRich = bprime * (-2._dp)*(1._dp + bprime*RiBulk)**(-3._dp)
+   end if
+
+  ! (Mahrt 1987)
+  case(mahrtExponential)
+   ! compute surface-atmosphere exchange coefficient (-)
+   stabilityCorrection = exp(-Mahrt87_eScale * RiBulk)
+   if(stabilityCorrection < epsilon(stabilityCorrection)) stabilityCorrection = epsilon(stabilityCorrection)
+   ! compute derivative in surface-atmosphere exchange coefficient w.r.t. temperature (K-1)
+   if(computeDerivative)then
+    dStabilityCorrection_dRich = (-Mahrt87_eScale) * exp(-Mahrt87_eScale * RiBulk)
+   end if
+
+  ! (return error if the stability correction method is not found)
+  case default
+   err=10; message=trim(message)//"optionNotFound[stability correction]"; return
+
+ end select
+
+ ! get the stability correction with respect to air temperature and surface temperature
+ ! NOTE: air temperature is used for canopy air temperature, which is a model state variable
+ if(computeDerivative)then
+  dStabilityCorrection_dAirTemp = dRiBulk_dAirTemp * dStabilityCorrection_dRich
+  dStabilityCorrection_dSfcTemp = dRiBulk_dSfcTemp * dStabilityCorrection_dRich
+ end if
+
+ end subroutine aStability
+
+
+ ! *******************************************************************************************************
+ ! private subroutine bulkRichardson: compute bulk Richardson number
+ ! *******************************************************************************************************
+ subroutine bulkRichardson(&
+                           ! input
+                           airTemp,                    & ! input: air temperature (K)
+                           sfcTemp,                    & ! input: surface temperature (K)
+                           windspd,                    & ! input: wind speed (m s-1)
+                           mHeight,                    & ! input: measurement height (m)
+                           computeDerivative,          & ! input: flag to compute the derivative
+                           ! output
+                           RiBulk,                     & ! output: bulk Richardson number (-)
+                           dRiBulk_dAirTemp,           & ! output: derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+                           dRiBulk_dSfcTemp,           & ! output: derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+                           err,message)                  ! output: error control
+ implicit none
+ ! input
+ real(dp),intent(in)           :: airtemp                ! air temperature (K)
+ real(dp),intent(in)           :: sfcTemp                ! surface temperature (K)
+ real(dp),intent(in)           :: windspd                ! wind speed (m s-1)
+ real(dp),intent(in)           :: mHeight                ! measurement height (m)
+ logical(lgt),intent(in)       :: computeDerivative      ! flag to compute the derivative
+ ! output
+ real(dp),intent(inout)        :: RiBulk                 ! bulk Richardson number (-)
+ real(dp),intent(out)          :: dRiBulk_dAirTemp       ! derivative in the bulk Richardson number w.r.t. air temperature (K-1)
+ real(dp),intent(out)          :: dRiBulk_dSfcTemp       ! derivative in the bulk Richardson number w.r.t. surface temperature (K-1)
+ integer(i4b),intent(out)      :: err                    ! error code
+ character(*),intent(out)      :: message                ! error message
+ ! local variables
+ real(dp)                      :: T_grad        ! gradient in temperature between the atmosphere and surface (K)
+ real(dp)                      :: T_mean        ! mean of the atmosphere and surface temperature (K)
+ real(dp)                      :: RiMult        ! dimensionless scaling factor (-)
+ ! initialize error control
+ err=0; message='bulkRichardson/'
+ ! compute local variables
+ T_grad = airtemp - sfcTemp
+ T_mean = 0.5_dp*(airtemp + sfcTemp)
+ RiMult = (gravity*mHeight)/(windspd*windspd)
+ ! compute the Richardson number
+ RiBulk = (T_grad/T_mean) * RiMult
+ ! compute the derivative in the Richardson number
+ if(computeDerivative)then
+  dRiBulk_dAirTemp =  RiMult/T_mean - RiMult*T_grad/(0.5_dp*((airtemp + sfcTemp)**2._dp))
+  dRiBulk_dSfcTemp = -RiMult/T_mean - RiMult*T_grad/(0.5_dp*((airtemp + sfcTemp)**2._dp))
+ else
+  dRiBulk_dAirTemp = 1._dp
+  dRiBulk_dSfcTemp = 1._dp
+ end if
+ end subroutine bulkRichardson
+
+
+end module vegNrgFlux_module
diff --git a/utils/laugh_tests/celia1990/out.txt b/utils/laugh_tests/celia1990/out.txt
new file mode 100644
index 0000000..fa96845
--- /dev/null
+++ b/utils/laugh_tests/celia1990/out.txt
@@ -0,0 +1,14232 @@
+==72919== Memcheck, a memory error detector
+==72919== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==72919== Using Valgrind-3.15.0-608cb11914-20190413 and LibVEX; rerun with -h for copyright info
+==72919== Command: /Summa-Actors/bin/summaMain -g 1 -n 1 -c /Summa-Actors/utils/laugh_tests/celia1990/config
+==72919== Parent PID: 961
+==72919== 
+--72919-- 
+--72919-- Valgrind options:
+--72919--    --leak-check=full
+--72919--    --show-leak-kinds=all
+--72919--    --track-origins=yes
+--72919--    --verbose
+--72919--    --log-file=out.txt
+--72919-- Contents of /proc/version:
+--72919--   Linux version 5.10.104-linuxkit (root@buildkitsandbox) (gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, GNU ld (GNU Binutils) 2.35.2) #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022
+--72919-- 
+--72919-- Arch and hwcaps: ARM64, LittleEndian, baseline
+--72919-- Page sizes: currently 4096, max supported 65536
+--72919-- Valgrind library directory: /usr/lib/aarch64-linux-gnu/valgrind
+--72919-- Reading syms from /Summa-Actors/bin/summaMain
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/ld-2.31.so
+--72919--   Considering /usr/lib/debug/.build-id/b6/7648e0ab1141e21a749711cde7a7b250b9e1d3.debug ..
+--72919--   .. build-id is valid
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/valgrind/memcheck-arm64-linux
+--72919--    object doesn't have a symbol table
+--72919--    object doesn't have a dynamic symbol table
+--72919-- Scheduler: using generic scheduler lock implementation.
+--72919-- Reading suppressions file: /usr/lib/aarch64-linux-gnu/valgrind/default.supp
+==72919== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-72919-by-???-on-78e03f205b72
+==72919== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-72919-by-???-on-78e03f205b72
+==72919== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-72919-by-???-on-78e03f205b72
+==72919== 
+==72919== TO CONTROL THIS PROCESS USING vgdb (which you probably
+==72919== don't want to do, unless you know exactly what you're doing,
+==72919== or are doing some strange experiment):
+==72919==   /usr/lib/aarch64-linux-gnu/valgrind/../../bin/vgdb --pid=72919 ...command...
+==72919== 
+==72919== TO DEBUG THIS PROCESS USING GDB: start GDB like this
+==72919==   /path/to/gdb /Summa-Actors/bin/summaMain
+==72919== and then give GDB the following command
+==72919==   target remote | /usr/lib/aarch64-linux-gnu/valgrind/../../bin/vgdb --pid=72919
+==72919== --pid is optional if only one valgrind process is running
+==72919== 
+--72919-- REDIR: 0x4019400 (ld-linux-aarch64.so.1:strlen) redirected to 0x580c5de8 (???)
+--72919-- REDIR: 0x4018440 (ld-linux-aarch64.so.1:strcmp) redirected to 0x580c5e3c (???)
+--72919-- REDIR: 0x4018330 (ld-linux-aarch64.so.1:index) redirected to 0x580c5e10 (???)
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_core-arm64-linux.so
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/local/lib/libcaf_core.so.0.18.6
+--72919-- Reading syms from /usr/local/lib/libcaf_io.so.0.18.6
+--72919-- Reading syms from /Summa-Actors/bin/libsumma.so
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/openblas-pthread/libopenblasp-r0.3.8.so
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /code/sundials/instdir/lib/libsundials_fnvecmanyvector_mod.so.5.8.0
+--72919-- Reading syms from /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libgcc_s.so.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libc-2.31.so
+--72919--   Considering /usr/lib/debug/.build-id/b7/b30ba2c0f618615a8d32d86813718bb2fdb567.debug ..
+--72919--   .. build-id is valid
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libm-2.31.so
+--72919--   Considering /usr/lib/debug/.build-id/ef/5f79ec54a7fe0dbb8f0cf2a360c360978c8d39.debug ..
+--72919--   .. build-id is valid
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libpthread-2.31.so
+--72919--   Considering /usr/lib/debug/.build-id/9e/e85bfaafff46d2fae9ac6c7ff06a68e9080cc8.debug ..
+--72919--   .. build-id is valid
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libnetcdf.so.15
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /code/sundials/instdir/lib/libsundials_nvecmanyvector.so.5.8.0
+--72919-- Reading syms from /code/sundials/instdir/lib/libsundials_ida.so.5.8.0
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libhdf5_serial_hl.so.100.1.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libcurl-gnutls.so.4.6.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libsz.so.2.0.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libz.so.1.2.11
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libdl-2.31.so
+--72919--   Considering /usr/lib/debug/.build-id/e6/bacb58f1852797463ae6de925c26bd634492bf.debug ..
+--72919--   .. build-id is valid
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libnghttp2.so.14.19.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libidn2.so.0.3.6
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/librtmp.so.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libssh.so.4.8.4
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libpsl.so.5.3.2
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libnettle.so.7.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libgssapi_krb5.so.2.2
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libldap_r-2.4.so.2.10.12
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/liblber-2.4.so.2.10.12
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libbrotlidec.so.1.0.7
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libaec.so.0.0.10
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libunistring.so.2.1.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libhogweed.so.5.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libgmp.so.10.4.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libcrypto.so.1.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libp11-kit.so.0.3.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libkrb5.so.3.3
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libk5crypto.so.3.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libcom_err.so.2.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libkrb5support.so.0.1
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libresolv-2.31.so
+--72919--   Considering /usr/lib/debug/.build-id/4f/3cb338e480755a8230af8186cfb702b3a79713.debug ..
+--72919--   .. build-id is valid
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libsasl2.so.2.0.25
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libgssapi.so.3.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libbrotlicommon.so.1.0.7
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libffi.so.7.1.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libkeyutils.so.1.8
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libheimntlm.so.0.1.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libkrb5.so.26.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libasn1.so.8.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libhcrypto.so.4.1.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libroken.so.18.1.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libwind.so.0.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libheimbase.so.1.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libhx509.so.5.0.0
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libsqlite3.so.0.8.6
+--72919--    object doesn't have a symbol table
+--72919-- Reading syms from /usr/lib/aarch64-linux-gnu/libcrypt.so.1.1.0
+--72919--    object doesn't have a symbol table
+--72919-- REDIR: 0x697dab0 (libc.so.6:memchr) redirected to 0x48346c8 (_vgnU_ifunc_wrapper)
+--72919-- REDIR: 0x697c8d8 (libc.so.6:strlen) redirected to 0x48346c8 (_vgnU_ifunc_wrapper)
+--72919-- REDIR: 0x697e390 (libc.so.6:memcpy) redirected to 0x48346c8 (_vgnU_ifunc_wrapper)
+--72919-- REDIR: 0x697dc90 (libc.so.6:memmove) redirected to 0x48346c8 (_vgnU_ifunc_wrapper)
+--72919-- REDIR: 0x697dda0 (libc.so.6:memset) redirected to 0x48346c8 (_vgnU_ifunc_wrapper)
+--72919-- REDIR: 0x697cd40 (libc.so.6:rindex) redirected to 0x484cc40 (rindex)
+--72919-- REDIR: 0x6985680 (libc.so.6:__GI_strlen) redirected to 0x484d268 (__GI_strlen)
+--72919-- REDIR: 0x6983dd0 (libc.so.6:__GI_memcpy) redirected to 0x484efb0 (__GI_memcpy)
+--72919-- REDIR: 0x697c020 (libc.so.6:index) redirected to 0x484cdf0 (index)
+--72919-- REDIR: 0x697c100 (libc.so.6:strcmp) redirected to 0x484e278 (strcmp)
+--72919-- REDIR: 0x6978420 (libc.so.6:malloc) redirected to 0x4849d18 (malloc)
+--72919-- REDIR: 0x6979160 (libc.so.6:calloc) redirected to 0x484c000 (calloc)
+--72919-- REDIR: 0x69dd430 (libc.so.6:__memcpy_chk) redirected to 0x4851ea8 (__memcpy_chk)
+--72919-- REDIR: 0x6978a08 (libc.so.6:free) redirected to 0x484aeb0 (free)
+--72919-- REDIR: 0x6984f40 (libc.so.6:__GI_memset) redirected to 0x4850c50 (memset)
+--72919-- REDIR: 0x697ccd8 (libc.so.6:strncpy) redirected to 0x484d518 (strncpy)
+--72919-- REDIR: 0x697fab0 (libc.so.6:strchrnul) redirected to 0x4851790 (strchrnul)
+--72919-- REDIR: 0x697db00 (libc.so.6:bcmp) redirected to 0x48504d8 (bcmp)
+--72919-- REDIR: 0x6795b40 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x484a350 (operator new(unsigned long))
+--72919-- REDIR: 0x6795be0 (libstdc++.so.6:operator new[](unsigned long)) redirected to 0x484aa30 (operator new[](unsigned long))
+--72919-- REDIR: 0x6983dc0 (libc.so.6:__GI_memmove) redirected to 0x4851058 (__GI_memmove)
+--72919-- REDIR: 0x6985480 (libc.so.6:__GI_memchr) redirected to 0x484e468 (__GI_memchr)
+--72919-- REDIR: 0x6793960 (libstdc++.so.6:operator delete(void*)) redirected to 0x484b3b0 (operator delete(void*))
+--72919-- REDIR: 0x6793970 (libstdc++.so.6:operator delete(void*, unsigned long)) redirected to 0x484b590 (operator delete(void*, unsigned long))
+--72919-- REDIR: 0x697d708 (libc.so.6:strstr) redirected to 0x4851fb8 (strstr)
+--72919-- REDIR: 0x6793990 (libstdc++.so.6:operator delete[](void*)) redirected to 0x484ba90 (operator delete[](void*))
+--72919-- REDIR: 0x6795bb0 (libstdc++.so.6:operator new(unsigned long, std::nothrow_t const&)) redirected to 0x484a5c8 (operator new(unsigned long, std::nothrow_t const&))
+--72919-- REDIR: 0x697de60 (libc.so.6:mempcpy) redirected to 0x4851890 (mempcpy)
+--72919-- REDIR: 0x697c964 (libc.so.6:strnlen) redirected to 0x484d1f0 (strnlen)
+--72919-- REDIR: 0x697e220 (libc.so.6:strncasecmp) redirected to 0x484dc28 (strncasecmp)
+--72919-- REDIR: 0x697cb1c (libc.so.6:strncmp) redirected to 0x484d9e8 (strncmp)
+--72919-- REDIR: 0x697ca98 (libc.so.6:strncat) redirected to 0x484d0e0 (strncat)
+--72919-- REDIR: 0x697c200 (libc.so.6:strcpy) redirected to 0x484d358 (strcpy)
+--72919-- REDIR: 0x6978c70 (libc.so.6:realloc) redirected to 0x484c228 (realloc)
+--72919-- REDIR: 0x697c388 (libc.so.6:strcspn) redirected to 0x48521b0 (strcspn)
+==72919== 
+==72919== HEAP SUMMARY:
+==72919==     in use at exit: 23,326,347 bytes in 77,955 blocks
+==72919==   total heap usage: 136,066 allocs, 58,111 frees, 44,293,801 bytes allocated
+==72919== 
+==72919== Searching for pointers to 77,955 not-freed blocks
+==72919== Checked 27,147,560 bytes
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 1 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C818B: defineGlobalData (summaActors_globalData.f90:164)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 2 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 3 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 4 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523893F: __def_output_module_MOD_write_hru_info (def_output.f90:501)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 5 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238D17: __def_output_module_MOD_write_hru_info (def_output.f90:506)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 6 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52390EF: __def_output_module_MOD_write_hru_info (def_output.f90:511)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 7 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52394C7: __def_output_module_MOD_write_hru_info (def_output.f90:516)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 8 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x5320EF3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:192)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 9 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 10 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x533265B: initHRU (init_hru_actor.f90:293)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 11 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51301C7: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:619)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 12 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5132FE7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:556)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 13 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 14 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 15 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 16 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F39E7: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:297)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 17 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 18 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AA8DB: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:293)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1 bytes in 1 blocks are still reachable in loss record 19 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6B6A2FF: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6B6BBBF: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6B6C153: _gfortran_runtime_error_at (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x54A6CB3: __solvebyida_module_MOD_setinitialcondition (solveByIDA.f90:605)
+==72919==    by 0x54AC1A7: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:321)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919== 
+==72919== 2 bytes in 1 blocks are still reachable in loss record 20 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24507: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 2 bytes in 2 blocks are still reachable in loss record 21 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5134553: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:564)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x5331113: initHRU (init_hru_actor.f90:257)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 2 bytes in 2 blocks are still reachable in loss record 22 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5132FE7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:556)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x5331113: initHRU (init_hru_actor.f90:257)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3 bytes in 3 blocks are still reachable in loss record 23 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 3 bytes in 3 blocks are still reachable in loss record 24 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3 bytes in 3 blocks are still reachable in loss record 25 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135E27: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:490)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 26 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51D5EEB: initFailedHRUTracker (cppwrap_fileAccess.f90:133)
+==72919==    by 0x131A0F: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:234)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 27 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F8F7: __def_output_module_MOD_ini_create (def_output.f90:275)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 28 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F8F7: __def_output_module_MOD_ini_create (def_output.f90:275)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 29 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F9C7: __def_output_module_MOD_ini_create (def_output.f90:276)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 30 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F9C7: __def_output_module_MOD_ini_create (def_output.f90:276)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 31 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 32 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 33 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 34 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 35 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 36 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 37 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 38 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 39 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 40 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 41 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 42 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 43 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5130A8F: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:622)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 4 bytes in 1 blocks are still reachable in loss record 44 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51338AF: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:559)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 5 bytes in 1 blocks are still reachable in loss record 45 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CEF57F: NCDISPATCH_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE75EF: nc_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 5 bytes in 1 blocks are still reachable in loss record 46 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FA9B: __def_output_module_MOD_ini_create (def_output.f90:277)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 5 bytes in 1 blocks are still reachable in loss record 47 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FA9B: __def_output_module_MOD_ini_create (def_output.f90:277)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 48 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CEF63B: NCDISPATCH_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE75EF: nc_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 49 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FB6B: __def_output_module_MOD_ini_create (def_output.f90:278)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 50 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FB6B: __def_output_module_MOD_ini_create (def_output.f90:278)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 51 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 52 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 53 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 54 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 55 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 56 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523893F: __def_output_module_MOD_write_hru_info (def_output.f90:501)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 57 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523893F: __def_output_module_MOD_write_hru_info (def_output.f90:501)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 58 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 59 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238D17: __def_output_module_MOD_write_hru_info (def_output.f90:506)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 60 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238D17: __def_output_module_MOD_write_hru_info (def_output.f90:506)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 61 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 62 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 63 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 64 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52390EF: __def_output_module_MOD_write_hru_info (def_output.f90:511)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 65 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52390EF: __def_output_module_MOD_write_hru_info (def_output.f90:511)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 66 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 67 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 68 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 69 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52394C7: __def_output_module_MOD_write_hru_info (def_output.f90:516)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 6 bytes in 1 blocks are still reachable in loss record 70 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52394C7: __def_output_module_MOD_write_hru_info (def_output.f90:516)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 7 bytes in 1 blocks are still reachable in loss record 71 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FC3F: __def_output_module_MOD_ini_create (def_output.f90:279)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 7 bytes in 1 blocks are still reachable in loss record 72 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FC3F: __def_output_module_MOD_ini_create (def_output.f90:279)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 7 bytes in 1 blocks are still reachable in loss record 73 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 7 bytes in 1 blocks are still reachable in loss record 74 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 7 bytes in 2 blocks are still reachable in loss record 75 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 76 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A54637: __gnu_cxx::new_allocator<char*>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A51133: std::allocator_traits<std::allocator<char*> >::allocate(std::allocator<char*>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4BFDF: std::_Vector_base<char*, std::allocator<char*> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A486EB: void std::vector<char*, std::allocator<char*> >::_M_realloc_insert<char*&>(__gnu_cxx::__normal_iterator<char**, std::vector<char*, std::allocator<char*> > >, char*&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A44117: char*& std::vector<char*, std::allocator<char*> >::emplace_back<char*&>(char*&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2AA27: caf::actor_system_config::set_remainder(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B233: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::istream&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B64F: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2A63F: caf::actor_system_config::parse(int, char**) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A4A7: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:81)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 77 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A1A9B7: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A19553: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1744F: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A14237: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A10D93: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0D84F: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A092B3: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A04607: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0025B: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC147: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2587: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 78 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A1A9B7: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A19553: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1744F: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A14237: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A10D93: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0D84F: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A092B3: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::counter<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::counter<long> > > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A04607: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0025B: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC147: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F25FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 79 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A1ABDB: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1981B: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A178FF: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A149CF: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A11303: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0DCE3: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A09B53: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A04B0F: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00567: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC203: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2677: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 80 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A1ABDB: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1981B: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A178FF: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A149CF: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A11303: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0DCE3: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A09B53: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::int_gauge>, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::int_gauge> > >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A04B0F: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00567: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC203: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F26FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 81 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F97FD7: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F9242B: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F89263: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F812FF: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7AB3B: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F74CD7: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6AD97: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61FAF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CA33: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572FF: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 82 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F98433: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F92AE3: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F89DC7: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F8266B: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7BF47: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F75D9B: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6BF8B: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F62AB3: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CFE7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57437: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 83 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F97FD7: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F9242B: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F89263: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F812FF: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7AB3B: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F74CD7: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6AD97: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61FAF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CA33: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572FF: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 84 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F98433: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F92AE3: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F89DC7: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F8266B: void std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7BF47: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_insert_rval(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F75D9B: std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6BF8B: __gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > > std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > >::emplace<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > const*, std::vector<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >, std::allocator<std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > > > > >, std::unique_ptr<caf::telemetry::metric_impl<caf::telemetry::histogram<double> >, std::default_delete<caf::telemetry::metric_impl<caf::telemetry::histogram<double> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F62AB3: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CFE7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57437: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 85 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F4D01F: std::_Function_base::_Base_manager<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}>::_M_init_functor(std::_Any_data&, {lambda()#1}&&, std::integral_constant<bool, false>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4C353: std::_Function_base::_Base_manager<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}>::_M_init_functor(std::_Any_data&, {lambda()#1}&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4B0D7: std::function<caf::group_module* ()>::function<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}, void, void>(caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F49F0F: void __gnu_cxx::new_allocator<std::function<caf::group_module* ()> >::construct<std::function<caf::group_module* ()>, caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&>(std::function<caf::group_module* ()>*, caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4837B: void std::allocator_traits<std::allocator<std::function<caf::group_module* ()> > >::construct<std::function<caf::group_module* ()>, caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&>(std::allocator<std::function<caf::group_module* ()> >&, std::function<caf::group_module* ()>*, caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F48443: void std::vector<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > >::_M_realloc_insert<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&>(__gnu_cxx::__normal_iterator<std::function<caf::group_module* ()>*, std::vector<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > > >, caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F46403: std::function<caf::group_module* ()>& std::vector<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > >::emplace_back<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&>(caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4519F: caf::io::middleman::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F34F7: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 86 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4AEE2CF: __gnu_cxx::new_allocator<caf::behavior>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AEE0C3: std::allocator_traits<std::allocator<caf::behavior> >::allocate(std::allocator<caf::behavior>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AEDDDB: std::_Vector_base<caf::behavior, std::allocator<caf::behavior> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AED897: void std::vector<caf::behavior, std::allocator<caf::behavior> >::_M_realloc_insert<caf::behavior>(__gnu_cxx::__normal_iterator<caf::behavior*, std::vector<caf::behavior, std::allocator<caf::behavior> > >, caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AED3A3: caf::behavior& std::vector<caf::behavior, std::allocator<caf::behavior> >::emplace_back<caf::behavior>(caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0C7A3: caf::detail::behavior_stack::push_back(caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0AAE3: caf::scheduled_actor::do_become(caf::behavior, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4FC0167: caf::typed_event_based_actor<caf::result<unsigned short> (caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<unsigned short> (caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<caf::node_id, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > (caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short), caf::result<void> (caf::unpublish_atom, caf::actor_addr, unsigned short), caf::result<void> (caf::close_atom, unsigned short), caf::result<caf::intrusive_ptr<caf::actor_control_block> > (caf::spawn_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::message, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >), caf::result<caf::actor> (caf::get_atom, caf::group_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), caf::result<caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> (caf::get_atom, caf::node_id)>::initialize() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AABF: caf::detail::private_thread::run(caf::actor_system*)::{lambda(caf::resumable*)#1}::operator()(caf::resumable*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 87 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4AEE2CF: __gnu_cxx::new_allocator<caf::behavior>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AEE0C3: std::allocator_traits<std::allocator<caf::behavior> >::allocate(std::allocator<caf::behavior>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AEDDDB: std::_Vector_base<caf::behavior, std::allocator<caf::behavior> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AED897: void std::vector<caf::behavior, std::allocator<caf::behavior> >::_M_realloc_insert<caf::behavior>(__gnu_cxx::__normal_iterator<caf::behavior*, std::vector<caf::behavior, std::allocator<caf::behavior> > >, caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AED3A3: caf::behavior& std::vector<caf::behavior, std::allocator<caf::behavior> >::emplace_back<caf::behavior>(caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0C7A3: caf::detail::behavior_stack::push_back(caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0AAE3: caf::scheduled_actor::do_become(caf::behavior, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F3AF77: caf::mixin::behavior_changer<caf::mixin::requester<caf::mixin::sender<caf::io::abstract_broker, caf::io::broker>, caf::io::broker>, caf::io::broker>::become(caf::behavior) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F3AC9B: caf::io::broker::initialize() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 88 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D7BB: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143A8F: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E93F: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x162E4F: void std::vector<double, std::allocator<double> >::_M_realloc_insert<double>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double&&) (vector.tcc:440)
+==72919==    by 0x161B4B: double& std::vector<double, std::allocator<double> >::emplace_back<double>(double&&) (vector.tcc:121)
+==72919==    by 0x160A93: std::vector<double, std::allocator<double> >::push_back(double&&) (stl_vector.h:1201)
+==72919==    by 0x1CA87F: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:38)
+==72919==    by 0x1B6B67: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:20)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 89 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D7BB: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143A8F: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E93F: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x162E4F: void std::vector<double, std::allocator<double> >::_M_realloc_insert<double>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double&&) (vector.tcc:440)
+==72919==    by 0x161B4B: double& std::vector<double, std::allocator<double> >::emplace_back<double>(double&&) (vector.tcc:121)
+==72919==    by 0x160A93: std::vector<double, std::allocator<double> >::push_back(double&&) (stl_vector.h:1201)
+==72919==    by 0x1CA87F: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:38)
+==72919==    by 0x17513B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:26)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 90 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7182913: H5TS_cancel_count_inc (in /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0)
+==72919==    by 0x6F82ED7: H5Eset_auto2 (in /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0)
+==72919==    by 0x6D2C617: nc4_hdf5_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D33223: NC_HDF5_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 91 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6F347E7: H5CX_push (in /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0)
+==72919==    by 0x6F82EF7: H5Eset_auto2 (in /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0)
+==72919==    by 0x6D2C617: nc4_hdf5_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D33223: NC_HDF5_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 92 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x544632F: readDimension (read_attribute.f90:147)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA3F: caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 93 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CF1C43: nclistset (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24593: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 94 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2D3FB: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 95 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2D413: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 96 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FEB3: __def_output_module_MOD_ini_create (def_output.f90:282)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 97 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FEB3: __def_output_module_MOD_ini_create (def_output.f90:282)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 98 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FF77: __def_output_module_MOD_ini_create (def_output.f90:283)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 99 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FF77: __def_output_module_MOD_ini_create (def_output.f90:283)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 100 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240053: __def_output_module_MOD_ini_create (def_output.f90:284)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 101 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240053: __def_output_module_MOD_ini_create (def_output.f90:284)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 102 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240127: __def_output_module_MOD_ini_create (def_output.f90:285)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 103 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240127: __def_output_module_MOD_ini_create (def_output.f90:285)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 104 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52401FF: __def_output_module_MOD_ini_create (def_output.f90:286)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 105 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52401FF: __def_output_module_MOD_ini_create (def_output.f90:286)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 106 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52402DF: __def_output_module_MOD_ini_create (def_output.f90:287)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 107 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52402DF: __def_output_module_MOD_ini_create (def_output.f90:287)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 108 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 109 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 110 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 111 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 112 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 113 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 114 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 115 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 116 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 117 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238807: __def_output_module_MOD_write_hru_info (def_output.f90:500)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 118 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523893F: __def_output_module_MOD_write_hru_info (def_output.f90:501)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 119 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 120 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 121 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238BDF: __def_output_module_MOD_write_hru_info (def_output.f90:505)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 122 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238D17: __def_output_module_MOD_write_hru_info (def_output.f90:506)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 123 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 124 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 125 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238FB7: __def_output_module_MOD_write_hru_info (def_output.f90:510)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 126 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52390EF: __def_output_module_MOD_write_hru_info (def_output.f90:511)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 127 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 128 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 129 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523938F: __def_output_module_MOD_write_hru_info (def_output.f90:515)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 130 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52394C7: __def_output_module_MOD_write_hru_info (def_output.f90:516)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 131 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512CB77: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:122)
+==72919==    by 0x531A92B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:165)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 132 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1B5827: __gnu_cxx::new_allocator<ActorRefList*>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x1B53FF: std::allocator_traits<std::allocator<ActorRefList*> >::allocate(std::allocator<ActorRefList*>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x1B4BA7: std::_Vector_base<ActorRefList*, std::allocator<ActorRefList*> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1B3FEB: void std::vector<ActorRefList*, std::allocator<ActorRefList*> >::_M_realloc_insert<ActorRefList* const&>(__gnu_cxx::__normal_iterator<ActorRefList**, std::vector<ActorRefList*, std::allocator<ActorRefList*> > >, ActorRefList* const&) (vector.tcc:440)
+==72919==    by 0x1B3337: std::vector<ActorRefList*, std::allocator<ActorRefList*> >::push_back(ActorRefList* const&) (stl_vector.h:1195)
+==72919==    by 0x1B223F: OutputManager::OutputManager(int, int) (output_manager.cpp:99)
+==72919==    by 0x131E0B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:281)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 133 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1802AF: __gnu_cxx::new_allocator<GRUinfo*>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x17F23F: std::allocator_traits<std::allocator<GRUinfo*> >::allocate(std::allocator<GRUinfo*>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x17E26B: std::_Vector_base<GRUinfo*, std::allocator<GRUinfo*> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x17CC3B: void std::vector<GRUinfo*, std::allocator<GRUinfo*> >::_M_realloc_insert<GRUinfo*>(__gnu_cxx::__normal_iterator<GRUinfo**, std::vector<GRUinfo*, std::allocator<GRUinfo*> > >, GRUinfo*&&) (vector.tcc:440)
+==72919==    by 0x17B6AB: GRUinfo*& std::vector<GRUinfo*, std::allocator<GRUinfo*> >::emplace_back<GRUinfo*>(GRUinfo*&&) (vector.tcc:121)
+==72919==    by 0x17A1D3: std::vector<GRUinfo*, std::allocator<GRUinfo*> >::push_back(GRUinfo*&&) (stl_vector.h:1201)
+==72919==    by 0x175F4F: caf::initalizeGRU(caf::stateful_actor<caf::job_state, caf::event_based_actor>*) (job_actor.cpp:267)
+==72919==    by 0x173F9B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (job_actor.cpp:103)
+==72919==    by 0x177A37: decltype(auto) caf::detail::apply_args<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x177A87: decltype(auto) caf::detail::apply_args<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919==    by 0x177B33: bool caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>)::{lambda(auto:1&)#1}::operator()<{lambda(init_hru)#1}>(auto, caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 134 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x164C47: __gnu_cxx::new_allocator<caf::actor>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x163C73: std::allocator_traits<std::allocator<caf::actor> >::allocate(std::allocator<caf::actor>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x1627A7: std::_Vector_base<caf::actor, std::allocator<caf::actor> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1614F7: void std::vector<caf::actor, std::allocator<caf::actor> >::_M_realloc_insert<caf::actor const&>(__gnu_cxx::__normal_iterator<caf::actor*, std::vector<caf::actor, std::allocator<caf::actor> > >, caf::actor const&) (vector.tcc:440)
+==72919==    by 0x160823: std::vector<caf::actor, std::allocator<caf::actor> >::push_back(caf::actor const&) (stl_vector.h:1195)
+==72919==    by 0x15E04F: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:38)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919==    by 0x15F62F: bool caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>)::{lambda(auto:1&)#1}::operator()<{lambda(init_hru)#1}>(auto, std::integer_sequence) const (behavior_impl.hpp:123)
+==72919==    by 0x15FA77: bool caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) (behavior_impl.hpp:133)
+==72919==    by 0x15F4D3: caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 135 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C2E7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:168)
+==72919==    by 0x5330FF3: initHRU (init_hru_actor.f90:255)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 136 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51366EF: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:493)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 137 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5401B9B: __outputstrucwrite_module_MOD_writeparm (outputStrucWrite.f90:129)
+==72919==    by 0x51D87A3: Write_Param_C (cppwrap_hru.f90:772)
+==72919==    by 0x169073: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}::operator()(start_hru) const (hru_actor.cpp:71)
+==72919==    by 0x16CAA3: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, 0l, caf::const_typed_message_view<start_hru> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<start_hru>&) (apply_args.hpp:22)
+==72919==    by 0x16CAF3: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, , caf::const_typed_message_view<start_hru> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}&, caf::const_typed_message_view<start_hru>&) (apply_args.hpp:33)
+==72919==    by 0x16CB9F: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<{lambda(start_hru)#1}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D10F: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 138 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51366EF: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:493)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 139 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51366EF: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:493)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 140 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51366EF: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:493)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 141 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51366EF: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:493)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 8 bytes in 1 blocks are still reachable in loss record 142 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51366EF: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:493)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 143 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 144 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 145 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 146 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 147 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238807: __def_output_module_MOD_write_hru_info (def_output.f90:500)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 148 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238807: __def_output_module_MOD_write_hru_info (def_output.f90:500)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 149 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238BDF: __def_output_module_MOD_write_hru_info (def_output.f90:505)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 150 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238BDF: __def_output_module_MOD_write_hru_info (def_output.f90:505)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 151 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238FB7: __def_output_module_MOD_write_hru_info (def_output.f90:510)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 152 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238FB7: __def_output_module_MOD_write_hru_info (def_output.f90:510)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 153 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523938F: __def_output_module_MOD_write_hru_info (def_output.f90:515)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 10 bytes in 1 blocks are still reachable in loss record 154 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523938F: __def_output_module_MOD_write_hru_info (def_output.f90:515)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 11 bytes in 6 blocks are still reachable in loss record 155 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 12 bytes in 1 blocks are still reachable in loss record 156 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 12 bytes in 1 blocks are still reachable in loss record 157 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 12 bytes in 1 blocks are still reachable in loss record 158 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x153807: __gnu_cxx::new_allocator<Forcing_File_Info>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14F223: std::allocator_traits<std::allocator<Forcing_File_Info> >::allocate(std::allocator<Forcing_File_Info>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x14842F: std::_Vector_base<Forcing_File_Info, std::allocator<Forcing_File_Info> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1406DF: void std::vector<Forcing_File_Info, std::allocator<Forcing_File_Info> >::_M_realloc_insert<Forcing_File_Info>(__gnu_cxx::__normal_iterator<Forcing_File_Info*, std::vector<Forcing_File_Info, std::allocator<Forcing_File_Info> > >, Forcing_File_Info&&) (vector.tcc:440)
+==72919==    by 0x13CCDF: Forcing_File_Info& std::vector<Forcing_File_Info, std::allocator<Forcing_File_Info> >::emplace_back<Forcing_File_Info>(Forcing_File_Info&&) (vector.tcc:121)
+==72919==    by 0x139BCF: std::vector<Forcing_File_Info, std::allocator<Forcing_File_Info> >::push_back(Forcing_File_Info&&) (stl_vector.h:1201)
+==72919==    by 0x131E77: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:287)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 12 bytes in 2 blocks are still reachable in loss record 159 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 12 bytes in 2 blocks are still reachable in loss record 160 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 12 bytes in 2 blocks are still reachable in loss record 161 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 12 bytes in 2 blocks are still reachable in loss record 162 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 12 bytes in 2 blocks are still reachable in loss record 163 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 12 bytes in 3 blocks are still reachable in loss record 164 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 13 bytes in 2 blocks are still reachable in loss record 165 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 13 bytes in 2 blocks are still reachable in loss record 166 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 14 bytes in 1 blocks are still reachable in loss record 167 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 14 bytes in 1 blocks are still reachable in loss record 168 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 14 bytes in 2 blocks are still reachable in loss record 169 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 14 bytes in 2 blocks are still reachable in loss record 170 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 15 bytes in 1 blocks are still reachable in loss record 171 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FD13: __def_output_module_MOD_ini_create (def_output.f90:280)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 15 bytes in 1 blocks are still reachable in loss record 172 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FD13: __def_output_module_MOD_ini_create (def_output.f90:280)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 15 bytes in 1 blocks are still reachable in loss record 173 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 15 bytes in 1 blocks are still reachable in loss record 174 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 175 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B14DF3: caf::intrusive_ptr<caf::detail::(anonymous namespace)::meta_objects_cleanup> caf::make_counted<caf::detail::(anonymous namespace)::meta_objects_cleanup>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B1500B: __static_initialization_and_destruction_0(int, int) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B15083: _GLOBAL__sub_I_meta_object.cpp (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 176 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4FCEEDF: caf::io::network::default_multiplexer::make_supervisor() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44A1F: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 177 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA847: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:36)
+==72919==    by 0x1B6B67: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:20)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 178 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA86B: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:37)
+==72919==    by 0x1B6B67: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:20)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 179 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA847: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:36)
+==72919==    by 0x17513B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:26)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 180 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA86B: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:37)
+==72919==    by 0x17513B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:26)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 181 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D7BB: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143A8F: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E93F: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x162E4F: void std::vector<double, std::allocator<double> >::_M_realloc_insert<double>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double&&) (vector.tcc:440)
+==72919==    by 0x161B4B: double& std::vector<double, std::allocator<double> >::emplace_back<double>(double&&) (vector.tcc:121)
+==72919==    by 0x160A93: std::vector<double, std::allocator<double> >::push_back(double&&) (stl_vector.h:1201)
+==72919==    by 0x1CA87F: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:38)
+==72919==    by 0x131413: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:24)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 182 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5240587: def_output (def_output.f90:130)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 183 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5240E07: def_output (def_output.f90:138)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 184 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24533: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 185 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24543: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 186 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24553: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 187 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24563: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 188 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24573: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 189 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 190 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 191 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 192 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 193 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 194 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 195 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 196 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 197 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 198 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 199 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 200 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 201 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 202 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 203 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 204 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 205 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 206 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 207 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53311A3: initHRU (init_hru_actor.f90:258)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 208 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B33E67: caf::detail::thread_safe_actor_clock::schedule(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::action) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49D9367: caf::actor_clock::schedule_message(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::intrusive_ptr<caf::actor_control_block>, std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F234A7: void caf::detail::profiled_send<caf::io::broker, caf::actor_control_block*, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::broker*, caf::actor_control_block*&&, caf::io::basp_broker* const&, caf::actor_clock&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::message_id, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1FEE3: std::enable_if<!std::is_same<caf::io::basp_broker*, caf::group>::value, void>::type caf::mixin::sender<caf::io::abstract_broker, caf::io::broker>::scheduled_send<(caf::message_priority)1, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::basp_broker* const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F11457: caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}::operator()(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C05B: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, 0l, 1l, 2l, 3l, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::detail::int_list<0l, 1l, 2l, 3l>, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C0AF: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, , caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C15B: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>)::{lambda(auto:1&)#1}::operator()<caf::error>(auto, {lambda(caf::get_atom, caf::node_id)#20}) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C4B7: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1992F: caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message_id&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 209 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DD93: __opsplittin_module_MOD_opsplittin (opSplittin.f90:455)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 210 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6E05D3B: N_VNewEmpty (in /code/sundials/instdir/lib/libsundials_nvecmanyvector.so.5.8.0)
+==72919==    by 0x6E4434F: N_VNewEmpty_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x6E447AF: N_VMake_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x66CEB8B: _wrap_FN_VMake_Serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x66CEA5F: __fnvector_serial_mod_MOD_fn_vmake_serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x54ABD97: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:314)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919== 
+==72919== 16 bytes in 1 blocks are still reachable in loss record 211 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6E05D3B: N_VNewEmpty (in /code/sundials/instdir/lib/libsundials_nvecmanyvector.so.5.8.0)
+==72919==    by 0x6E4434F: N_VNewEmpty_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x6E447AF: N_VMake_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x66CEB8B: _wrap_FN_VMake_Serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x66CEA5F: __fnvector_serial_mod_MOD_fn_vmake_serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x54ABF9F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:317)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919== 
+==72919== 16 bytes in 2 blocks are still reachable in loss record 212 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 16 bytes in 2 blocks are still reachable in loss record 213 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 16 bytes in 2 blocks are still reachable in loss record 214 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 16 bytes in 2 blocks are still reachable in loss record 215 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16 bytes in 2 blocks are still reachable in loss record 216 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 16 bytes in 2 blocks are still reachable in loss record 217 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 17 bytes in 1 blocks are still reachable in loss record 218 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D24343: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FDEB: __def_output_module_MOD_ini_create (def_output.f90:281)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 17 bytes in 1 blocks are still reachable in loss record 219 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2437B: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FDEB: __def_output_module_MOD_ini_create (def_output.f90:281)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 17 bytes in 1 blocks are still reachable in loss record 220 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140DD7: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x14D4F7: void __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (new_allocator.h:146)
+==72919==    by 0x14381B: void std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (alloc_traits.h:483)
+==72919==    by 0x1CB793: void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (vector.tcc:449)
+==72919==    by 0x1CB327: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1195)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x16A0D3: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:19)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 18 bytes in 1 blocks are still reachable in loss record 221 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0003F: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >* caf::telemetry::metric_registry::counter_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC12B: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2587: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 18 bytes in 3 blocks are still reachable in loss record 222 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 18 bytes in 3 blocks are still reachable in loss record 223 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 19 bytes in 1 blocks are still reachable in loss record 224 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0003F: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >* caf::telemetry::metric_registry::counter_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC12B: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F25FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 19 bytes in 1 blocks are still reachable in loss record 225 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00967: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 20 bytes in 1 blocks are still reachable in loss record 226 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140A7B: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x13CEFF: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*>(char const*, char const*, std::__false_type) (basic_string.h:251)
+==72919==    by 0x139D83: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*) (basic_string.h:270)
+==72919==    by 0x137F87: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) (basic_string.h:531)
+==72919==    by 0x1B9B13: caf::job_state::job_state() (job_actor.hpp:8)
+==72919==    by 0x1B9C7B: caf::stateful_actor<caf::job_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x1B966B: caf::actor_storage<caf::stateful_actor<caf::job_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x1B927F: caf::actor caf::make_actor<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x1B8D8B: caf::infer_handle_from_class<caf::stateful_actor<caf::job_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::job_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::job_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x1B8997: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (actor_system.hpp:383)
+==72919==    by 0x1B8317: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (local_actor.hpp:134)
+==72919== 
+==72919== 20 bytes in 1 blocks are still reachable in loss record 227 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512C9CF: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:114)
+==72919==    by 0x5319D63: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:162)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 20 bytes in 1 blocks are still reachable in loss record 228 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x5330F63: initHRU (init_hru_actor.f90:254)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 20 bytes in 1 blocks are still reachable in loss record 229 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A9CBF: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:282)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 20 bytes in 2 blocks are still reachable in loss record 230 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 20 bytes in 2 blocks are still reachable in loss record 231 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 20 bytes in 2 blocks are still reachable in loss record 232 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 20 bytes in 2 blocks are still reachable in loss record 233 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 20 bytes in 3 blocks are still reachable in loss record 234 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 20 bytes in 3 blocks are still reachable in loss record 235 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 21 bytes in 1 blocks are still reachable in loss record 236 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140A7B: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x13CEFF: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*>(char const*, char const*, std::__false_type) (basic_string.h:251)
+==72919==    by 0x139D83: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*) (basic_string.h:270)
+==72919==    by 0x137F87: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) (basic_string.h:531)
+==72919==    by 0x4A2937F: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 21 bytes in 1 blocks are still reachable in loss record 237 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00967: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 21 bytes in 1 blocks are still reachable in loss record 238 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140DD7: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x14D4F7: void __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (new_allocator.h:146)
+==72919==    by 0x14381B: void std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (alloc_traits.h:483)
+==72919==    by 0x1CB2F7: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1189)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x16A11F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:20)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 22 bytes in 1 blocks are still reachable in loss record 239 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5C7DF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 22 bytes in 1 blocks are still reachable in loss record 240 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140DD7: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x14D4F7: void __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (new_allocator.h:146)
+==72919==    by 0x14381B: void std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (alloc_traits.h:483)
+==72919==    by 0x1CB793: void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (vector.tcc:449)
+==72919==    by 0x1CB327: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1195)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x16A16B: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:21)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 23 bytes in 1 blocks are still reachable in loss record 241 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5C7DF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 23 bytes in 1 blocks are still reachable in loss record 242 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238807: __def_output_module_MOD_write_hru_info (def_output.f90:500)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 23 bytes in 1 blocks are still reachable in loss record 243 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238BDF: __def_output_module_MOD_write_hru_info (def_output.f90:505)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 244 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x544417B: readDimension (read_attribute.f90:138)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA3F: caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 245 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24617: nc4_nc4f_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 246 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2461F: nc4_nc4f_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 247 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24627: nc4_nc4f_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 248 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24533: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 249 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24533: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 250 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24543: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 251 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24543: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 252 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24553: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 253 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24553: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 254 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24563: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 255 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24563: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 256 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24573: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 257 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24573: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 258 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 259 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 260 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 261 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 262 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 263 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 264 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 265 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 266 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 267 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 268 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 269 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 270 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 271 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 272 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6E446A7: N_VNewEmpty_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x6E447AF: N_VMake_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x66CEB8B: _wrap_FN_VMake_Serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x66CEA5F: __fnvector_serial_mod_MOD_fn_vmake_serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x54ABD97: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:314)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919== 
+==72919== 24 bytes in 1 blocks are still reachable in loss record 273 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6E446A7: N_VNewEmpty_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x6E447AF: N_VMake_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x66CEB8B: _wrap_FN_VMake_Serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x66CEA5F: __fnvector_serial_mod_MOD_fn_vmake_serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x54ABF9F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:317)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919== 
+==72919== 24 bytes in 2 blocks are still reachable in loss record 274 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 24 bytes in 2 blocks are still reachable in loss record 275 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 24 bytes in 3 blocks are still reachable in loss record 276 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 24 bytes in 3 blocks are still reachable in loss record 277 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 24 bytes in 3 blocks are still reachable in loss record 278 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 24 bytes in 3 blocks are still reachable in loss record 279 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 280 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x5334CE3: allocateTimeStructure (job_actor.f90:22)
+==72919==    by 0x17580F: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:85)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 281 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x5334D73: allocateTimeStructure (job_actor.f90:23)
+==72919==    by 0x17580F: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:85)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 282 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x5334E03: allocateTimeStructure (job_actor.f90:24)
+==72919==    by 0x17580F: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:85)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 283 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x5334E93: allocateTimeStructure (job_actor.f90:25)
+==72919==    by 0x17580F: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:85)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 284 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x532F45F: initHRU (init_hru_actor.f90:227)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 285 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x532F4EF: initHRU (init_hru_actor.f90:228)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 286 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x532F57F: initHRU (init_hru_actor.f90:229)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 287 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x532F60F: initHRU (init_hru_actor.f90:230)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 28 bytes in 1 blocks are still reachable in loss record 288 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C13F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:167)
+==72919==    by 0x5330DB3: initHRU (init_hru_actor.f90:251)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 29 bytes in 1 blocks are still reachable in loss record 289 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0006B: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >* caf::telemetry::metric_registry::counter_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC12B: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2587: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 30 bytes in 1 blocks are still reachable in loss record 290 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0006B: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >* caf::telemetry::metric_registry::counter_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC12B: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F25FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 30 bytes in 3 blocks are still reachable in loss record 291 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 30 bytes in 3 blocks are still reachable in loss record 292 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 31 bytes in 1 blocks are still reachable in loss record 293 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18AEC3: caf::config_option caf::make_config_option<int>(int&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (make_config_option.hpp:68)
+==72919==    by 0x188817: caf::config_option_adder& caf::config_option_adder::add<int>(int&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (config_option_adder.hpp:28)
+==72919==    by 0x18821B: config::config() (main.cpp:31)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 31 bytes in 1 blocks are still reachable in loss record 294 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x682EDF3: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x682FDDB: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A2A5E3: caf::actor_system_config::parse(int, char**) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A4A7: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:81)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 295 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA1AF: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 296 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA1CB: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 297 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA207: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 298 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA223: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 299 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA23B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 300 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA253: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 301 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA26B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 302 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA283: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 303 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA29B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 304 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA2B3: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 305 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA2EF: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 306 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA307: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 307 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA323: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 308 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA33B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 309 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA357: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 310 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x752DCB7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x75EA36F: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751057B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 311 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1A3BDB: __gnu_cxx::new_allocator<std::function<caf::actor_system::module* (caf::actor_system&)> >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x1A0817: std::allocator_traits<std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> > >::allocate(std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x19C3F7: std::_Vector_base<std::function<caf::actor_system::module* (caf::actor_system&)>, std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1981FF: void std::vector<std::function<caf::actor_system::module* (caf::actor_system&)>, std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> > >::_M_realloc_insert<std::function<caf::actor_system::module* (caf::actor_system&)> >(__gnu_cxx::__normal_iterator<std::function<caf::actor_system::module* (caf::actor_system&)>*, std::vector<std::function<caf::actor_system::module* (caf::actor_system&)>, std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> > > >, std::function<caf::actor_system::module* (caf::actor_system&)>&&) (vector.tcc:440)
+==72919==    by 0x192C8B: std::function<caf::actor_system::module* (caf::actor_system&)>& std::vector<std::function<caf::actor_system::module* (caf::actor_system&)>, std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> > >::emplace_back<std::function<caf::actor_system::module* (caf::actor_system&)> >(std::function<caf::actor_system::module* (caf::actor_system&)>&&) (vector.tcc:121)
+==72919==    by 0x18FF0B: std::vector<std::function<caf::actor_system::module* (caf::actor_system&)>, std::allocator<std::function<caf::actor_system::module* (caf::actor_system&)> > >::push_back(std::function<caf::actor_system::module* (caf::actor_system&)>&&) (stl_vector.h:1201)
+==72919==    by 0x18CEE7: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:138)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 312 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6935BDB: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
+==72919==    by 0x679347B: __cxa_thread_atexit (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4BE7F93: __tls_init (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE7FAB: TLS wrapper function for caf::(anonymous namespace)::current_logger_ptr (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE3DE3: caf::logger::set_current_actor_system(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2ED7: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 313 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F78CEF: __gnu_cxx::new_allocator<std::function<caf::group_module* ()> >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F71973: std::allocator_traits<std::allocator<std::function<caf::group_module* ()> > >::allocate(std::allocator<std::function<caf::group_module* ()> >&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F67C53: std::_Vector_base<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4840B: void std::vector<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > >::_M_realloc_insert<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&>(__gnu_cxx::__normal_iterator<std::function<caf::group_module* ()>*, std::vector<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > > >, caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F46403: std::function<caf::group_module* ()>& std::vector<std::function<caf::group_module* ()>, std::allocator<std::function<caf::group_module* ()> > >::emplace_back<caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&>(caf::io::middleman::init(caf::actor_system_config&)::{lambda()#1}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4519F: caf::io::middleman::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F34F7: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 314 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6935BDB: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
+==72919==    by 0x679347B: __cxa_thread_atexit (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4BE7F93: __tls_init (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE7FAB: TLS wrapper function for caf::(anonymous namespace)::current_logger_ptr (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE3DE3: caf::logger::set_current_actor_system(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C503: std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2CCBB: char const* std::__invoke_impl<void, std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(std::__invoke_other, std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}&&, caf::intrusive_ptr<caf::ref_counted>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2CC03: std::__invoke_result<char const*, caf::intrusive_ptr<caf::ref_counted> >::type std::__invoke<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(char const*&&, (caf::intrusive_ptr<caf::ref_counted>&&)...) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2CB67: void std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2CB23: std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::operator()() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2CB03: std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >::_M_run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 315 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A24A43: __gnu_cxx::new_allocator<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A229EF: std::allocator_traits<std::allocator<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > > > >::allocate(std::allocator<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2091B: std::_Vector_base<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > >, std::allocator<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1E6B3: std::vector<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > >, std::allocator<std::unique_ptr<caf::scheduler::worker<caf::policy::work_stealing>, std::default_delete<caf::scheduler::worker<caf::policy::work_stealing> > > > >::reserve(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1CF97: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 316 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A72B2B: caf::blocking_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C18023: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn_impl<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1750B: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C163FF: caf::scheduler::abstract_coordinator::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D087: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 317 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6935BDB: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
+==72919==    by 0x679347B: __cxa_thread_atexit (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4BE7F93: __tls_init (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE7FAB: TLS wrapper function for caf::(anonymous namespace)::current_logger_ptr (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE3DE3: caf::logger::set_current_actor_system(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B34773: std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B36A37: char const* std::__invoke_impl<void, std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(std::__invoke_other, std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}&&, caf::intrusive_ptr<caf::ref_counted>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3697F: std::__invoke_result<char const*, caf::intrusive_ptr<caf::ref_counted> >::type std::__invoke<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(char const*&&, (caf::intrusive_ptr<caf::ref_counted>&&)...) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B368E3: void std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3689F: std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::operator()() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3674B: std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >::_M_run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 318 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6935BDB: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
+==72919==    by 0x679347B: __cxa_thread_atexit (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4BE7F93: __tls_init (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE7FAB: TLS wrapper function for caf::(anonymous namespace)::current_logger_ptr (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE3DE3: caf::logger::set_current_actor_system(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F47FC3: std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F514A7: char const* std::__invoke_impl<void, std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(std::__invoke_other, std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}&&, caf::intrusive_ptr<caf::ref_counted>&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5131B: std::__invoke_result<char const*, caf::intrusive_ptr<caf::ref_counted> >::type std::__invoke<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(char const*&&, (caf::intrusive_ptr<caf::ref_counted>&&)...) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F510E3: void std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F50AD3: std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::operator()() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4F39B: std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >::_M_run() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 319 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D943: __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143C57: std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::allocate(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13EBF3: std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CB75B: void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (vector.tcc:440)
+==72919==    by 0x1CB327: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1195)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x1B6B67: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:20)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 320 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D943: __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143C57: std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::allocate(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13EBF3: std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CB75B: void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (vector.tcc:440)
+==72919==    by 0x1CB327: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1195)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x17513B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:26)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 321 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C7F2B: defineGlobalData (summaActors_globalData.f90:162)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 322 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA847: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:36)
+==72919==    by 0x131413: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:24)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 323 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA86B: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:37)
+==72919==    by 0x131413: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:24)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 1 blocks are still reachable in loss record 324 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x526BB3F: __ffile_info_module_MOD_ffile_info (ffile_info.f90:199)
+==72919==    by 0x51D6C0B: ffile_info_C (cppwrap_fileAccess.f90:39)
+==72919==    by 0x1316F3: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:198)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 325 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 326 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 327 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 328 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 329 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 330 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 331 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 2 blocks are still reachable in loss record 332 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32 bytes in 4 blocks are still reachable in loss record 333 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512FEDF: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:618)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 32 bytes in 4 blocks are still reachable in loss record 334 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5132CFF: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:555)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 35 bytes in 1 blocks are still reachable in loss record 335 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D294EB: NC4_new_provenance (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D607: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 36 bytes in 1 blocks are still reachable in loss record 336 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18AEC3: caf::config_option caf::make_config_option<int>(int&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (make_config_option.hpp:68)
+==72919==    by 0x188817: caf::config_option_adder& caf::config_option_adder::add<int>(int&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (config_option_adder.hpp:28)
+==72919==    by 0x188263: config::config() (main.cpp:32)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 36 bytes in 1 blocks are still reachable in loss record 337 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00377: caf::telemetry::metric_family_impl<caf::detail::gauge_oracle<long>::type>* caf::telemetry::metric_registry::gauge_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC1E7: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2677: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 36 bytes in 6 blocks are still reachable in loss record 338 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 36 bytes in 6 blocks are still reachable in loss record 339 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 37 bytes in 1 blocks are still reachable in loss record 340 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18AFE7: caf::config_option caf::make_config_option<bool>(bool&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (make_config_option.hpp:68)
+==72919==    by 0x188987: caf::config_option_adder& caf::config_option_adder::add<bool>(bool&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (config_option_adder.hpp:28)
+==72919==    by 0x1882F3: config::config() (main.cpp:34)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 37 bytes in 1 blocks are still reachable in loss record 341 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00377: caf::telemetry::metric_family_impl<caf::detail::gauge_oracle<long>::type>* caf::telemetry::metric_registry::gauge_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC1E7: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F26FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 37 bytes in 2 blocks are still reachable in loss record 342 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 37 bytes in 2 blocks are still reachable in loss record 343 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 39 bytes in 1 blocks are still reachable in loss record 344 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18AFE7: caf::config_option caf::make_config_option<bool>(bool&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (make_config_option.hpp:68)
+==72919==    by 0x188987: caf::config_option_adder& caf::config_option_adder::add<bool>(bool&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (config_option_adder.hpp:28)
+==72919==    by 0x18833B: config::config() (main.cpp:35)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 345 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A045B7: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0025B: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC147: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2587: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 346 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A045B7: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0025B: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC147: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F25FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 347 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A04ABF: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00567: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC203: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2677: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 348 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A04ABF: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00567: caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC203: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F26FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 349 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B2C7F7: std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > > > std::thread::_S_make_state<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >(char const*&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C637: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C48F: std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2BEFB: caf::detail::private_thread_pool::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F35BF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 350 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B34FF7: std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > > > std::thread::_S_make_state<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >(char const*&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B348A7: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B34407: std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B341EF: caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D07F: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 351 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF50E7: new_NC (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE94B3: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 352 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F8F7: __def_output_module_MOD_ini_create (def_output.f90:275)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 353 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F9C7: __def_output_module_MOD_ini_create (def_output.f90:276)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 354 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FA9B: __def_output_module_MOD_ini_create (def_output.f90:277)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 355 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FB6B: __def_output_module_MOD_ini_create (def_output.f90:278)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 356 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FC3F: __def_output_module_MOD_ini_create (def_output.f90:279)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 357 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FD13: __def_output_module_MOD_ini_create (def_output.f90:280)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 358 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FDEB: __def_output_module_MOD_ini_create (def_output.f90:281)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 359 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FEB3: __def_output_module_MOD_ini_create (def_output.f90:282)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 360 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FF77: __def_output_module_MOD_ini_create (def_output.f90:283)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 361 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240053: __def_output_module_MOD_ini_create (def_output.f90:284)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 362 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240127: __def_output_module_MOD_ini_create (def_output.f90:285)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 363 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52401FF: __def_output_module_MOD_ini_create (def_output.f90:286)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 364 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B88F: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52402DF: __def_output_module_MOD_ini_create (def_output.f90:287)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 365 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238FB7: __def_output_module_MOD_write_hru_info (def_output.f90:510)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 366 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512C827: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:106)
+==72919==    by 0x5322EEB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:202)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 1 blocks are still reachable in loss record 367 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C48F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:169)
+==72919==    by 0x533135F: initHRU (init_hru_actor.f90:261)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 40 bytes in 5 blocks are still reachable in loss record 368 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4AEE2CF: __gnu_cxx::new_allocator<caf::behavior>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AEE0C3: std::allocator_traits<std::allocator<caf::behavior> >::allocate(std::allocator<caf::behavior>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AEDDDB: std::_Vector_base<caf::behavior, std::allocator<caf::behavior> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AED897: void std::vector<caf::behavior, std::allocator<caf::behavior> >::_M_realloc_insert<caf::behavior>(__gnu_cxx::__normal_iterator<caf::behavior*, std::vector<caf::behavior, std::allocator<caf::behavior> > >, caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4AED3A3: caf::behavior& std::vector<caf::behavior, std::allocator<caf::behavior> >::emplace_back<caf::behavior>(caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0C7A3: caf::detail::behavior_stack::push_back(caf::behavior&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0AAE3: caf::scheduled_actor::do_become(caf::behavior, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3EA1F: caf::mixin::behavior_changer<caf::mixin::subscriber<caf::mixin::requester<caf::mixin::sender<caf::scheduled_actor, caf::event_based_actor>, caf::event_based_actor>, caf::event_based_actor>, caf::event_based_actor>::become(caf::behavior) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4F3: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 42 bytes in 6 blocks are still reachable in loss record 369 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 45 bytes in 1 blocks are still reachable in loss record 370 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523938F: __def_output_module_MOD_write_hru_info (def_output.f90:515)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 46 bytes in 2 blocks are still reachable in loss record 371 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 372 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7516613: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x751053F: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 373 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7516613: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x7510557: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 374 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4BFA3DB: void caf::intrusive_ptr<caf::node_id_data>::emplace<caf::hashed_node_id&>(caf::hashed_node_id&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BFA15B: caf::node_id::node_id(caf::hashed_node_id) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BF9283: caf::make_node_id(unsigned int, std::array<unsigned char, 20ul> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BF82E3: caf::hashed_node_id::local(caf::actor_system_config const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F4515B: caf::io::middleman::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F34F7: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 375 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49F5D8F: std::unique_ptr<caf::detail::init_fun_factory_helper_base, std::default_delete<caf::detail::init_fun_factory_helper_base> > caf::detail::init_fun_factory<caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>::make<>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F540F: caf::detail::unique_function<caf::behavior (caf::local_actor*)> caf::detail::init_fun_factory<caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>::operator()<>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F4E2F: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F4603: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F352F: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 376 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49F5FF3: std::unique_ptr<caf::detail::init_fun_factory_helper_base, std::default_delete<caf::detail::init_fun_factory_helper_base> > caf::detail::init_fun_factory<caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>::make<>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F562B: caf::detail::unique_function<caf::behavior (caf::local_actor*)> caf::detail::init_fun_factory<caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>::operator()<>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F4EEB: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F46BB: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3577: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 377 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B2B303: std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > > > std::thread::_S_make_state<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >(char const*&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B143: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AF9B: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE93: caf::detail::private_thread::launch(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C19B: caf::detail::private_thread_pool::acquire() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F436B: caf::actor_system::acquire_private_thread() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A72AFB: caf::blocking_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C18023: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn_impl<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1750B: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C163FF: caf::scheduler::abstract_coordinator::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D087: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 378 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F49C0F: std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > > > std::thread::_S_make_state<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >(char const*&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F480F7: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4625B: std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1}) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44A97: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 379 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B2B303: std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > > > std::thread::_S_make_state<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >(char const*&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B143: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AF9B: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE93: caf::detail::private_thread::launch(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C19B: caf::detail::private_thread_pool::acquire() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F436B: caf::actor_system::acquire_private_thread() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0849B: caf::scheduled_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4FAC1AB: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn_impl<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor_config&, caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FABE73: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FABC97: caf::io::make_middleman_actor[abi:cxx11](caf::actor_system&, caf::actor) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44B3B: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 380 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1B746F: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}>, caf::detail::dummy_timeout_definition>, {lambda(err)#2}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}&>({lambda(err)#2}&&, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}&) (make_counted.hpp:19)
+==72919==    by 0x1B72C3: auto caf::detail::make_behavior_t::operator()<caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}>(caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}) const (behavior_impl.hpp:174)
+==72919==    by 0x1B734F: void caf::behavior::assign<caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}>(caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}&&, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}&&) (behavior.hpp:60)
+==72919==    by 0x1B7207: caf::behavior::behavior<caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}>(caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(done_job, int, double, double, double)#1}, caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(err)#2}&&) (behavior.hpp:47)
+==72919==    by 0x1B6E73: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:89)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 381 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF78C7: ncrc_getglobalstate (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEF573: NCDISPATCH_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE75EF: nc_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 382 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x526D0B3: __ffile_info_module_MOD_ffile_info (ffile_info.f90:229)
+==72919==    by 0x51D6C0B: ffile_info_C (cppwrap_fileAccess.f90:39)
+==72919==    by 0x1316F3: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:198)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 383 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1B221B: OutputManager::OutputManager(int, int) (output_manager.cpp:98)
+==72919==    by 0x131E0B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:281)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 384 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49DA047: caf::intrusive_ptr<caf::detail::default_action_impl<caf::actor_clock::schedule_message(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::intrusive_ptr<caf::actor_control_block>, std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >)::{lambda()#1}, false> > caf::make_counted<caf::detail::default_action_impl<caf::actor_clock::schedule_message(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::intrusive_ptr<caf::actor_control_block>, std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >)::{lambda()#1}, false>, {lambda()#1}>({lambda()#1}&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49D9A87: caf::action caf::make_action<caf::actor_clock::schedule_message(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::intrusive_ptr<caf::actor_control_block>, std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >)::{lambda()#1}>(caf::actor_clock::schedule_message(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::intrusive_ptr<caf::actor_control_block>, std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49D9323: caf::actor_clock::schedule_message(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::intrusive_ptr<caf::actor_control_block>, std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F234A7: void caf::detail::profiled_send<caf::io::broker, caf::actor_control_block*, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::broker*, caf::actor_control_block*&&, caf::io::basp_broker* const&, caf::actor_clock&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::message_id, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1FEE3: std::enable_if<!std::is_same<caf::io::basp_broker*, caf::group>::value, void>::type caf::mixin::sender<caf::io::abstract_broker, caf::io::broker>::scheduled_send<(caf::message_priority)1, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::basp_broker* const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F11457: caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}::operator()(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C05B: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, 0l, 1l, 2l, 3l, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::detail::int_list<0l, 1l, 2l, 3l>, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C0AF: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, , caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C15B: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>)::{lambda(auto:1&)#1}::operator()<caf::error>(auto, {lambda(caf::get_atom, caf::node_id)#20}) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C4B7: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1992F: caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message_id&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 1 blocks are still reachable in loss record 385 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x511B02B: __access_forcing_module_MOD_access_forcingfile (access_forcing.f90:106)
+==72919==    by 0x51D554F: FileAccessActor_ReadForcing (cppwrap_fileAccess.f90:203)
+==72919==    by 0x1304B3: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:76)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 2 blocks are still reachable in loss record 386 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 48 bytes in 2 blocks are still reachable in loss record 387 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 48 bytes in 2 blocks are still reachable in loss record 388 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 48 bytes in 2 blocks are still reachable in loss record 389 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 390 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 391 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 392 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 393 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 394 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 395 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48 bytes in 3 blocks are still reachable in loss record 396 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 48 bytes in 6 blocks are still reachable in loss record 397 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 48 bytes in 6 blocks are still reachable in loss record 398 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 399 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29423: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 400 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18AF83: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (make_config_option.hpp:68)
+==72919==    by 0x1888CF: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (config_option_adder.hpp:28)
+==72919==    by 0x1882AB: config::config() (main.cpp:33)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 401 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140A7B: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x13CEFF: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*>(char const*, char const*, std::__false_type) (basic_string.h:251)
+==72919==    by 0x139D83: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*) (basic_string.h:270)
+==72919==    by 0x49FA7F3: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char const*, void>(char const*, char const*, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A419EB: caf::config_value::set(std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A80DCB: caf::config_value::config_value<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E3FF: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const::{lambda(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)#1}::operator()(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E98B: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7EB17: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B06F: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::istream&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B64F: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 402 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x140DD7: void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) (basic_string.tcc:219)
+==72919==    by 0x4A961BB: caf::to_string[abi:cxx11](caf::config_value const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x1933BF: caf::expected<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > caf::get_as<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(caf::config_value const&, caf::inspector_access_type::builtin) (config_value.hpp:356)
+==72919==    by 0x190B2F: caf::expected<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > caf::get_as<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(caf::config_value const&) (config_value.hpp:492)
+==72919==    by 0x18EB0B: caf::error caf::detail::sync_impl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(void*, caf::config_value&) (make_config_option.hpp:22)
+==72919==    by 0x4A7C737: caf::config_option::sync(caf::config_value&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E417: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const::{lambda(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)#1}::operator()(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E98B: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7EB17: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B06F: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::istream&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B64F: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 403 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x682ED23: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x682F083: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x1B6BEB: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:25)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 404 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x682ED23: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x682F083: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x1751BF: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:33)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 49 bytes in 1 blocks are still reachable in loss record 405 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x682ED23: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x682F083: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x15E95F: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (gru_actor.cpp:20)
+==72919==    by 0x18571F: decltype ({parm#1}((forward<caf::stateful_actor<caf::gru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor>, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor>&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x184F9F: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::gru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 49 bytes in 2 blocks are still reachable in loss record 406 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 52 bytes in 1 blocks are still reachable in loss record 407 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C851B: defineGlobalData (summaActors_globalData.f90:167)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 54 bytes in 1 blocks are still reachable in loss record 408 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A298FB: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 54 bytes in 1 blocks are still reachable in loss record 409 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x157D33: __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x155CDB: std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x15B41F: std::_Vector_base<char, std::allocator<char> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x15A1E7: void std::vector<char, std::allocator<char> >::_M_realloc_insert<char>(__gnu_cxx::__normal_iterator<char*, std::vector<char, std::allocator<char> > >, char&&) (vector.tcc:440)
+==72919==    by 0x157893: char& std::vector<char, std::allocator<char> >::emplace_back<char>(char&&) (vector.tcc:121)
+==72919==    by 0x4A2A923: caf::actor_system_config::set_remainder(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B233: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::istream&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2B64F: caf::actor_system_config::parse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2A63F: caf::actor_system_config::parse(int, char**) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A4A7: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:81)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 54 bytes in 1 blocks are still reachable in loss record 410 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5C807: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 55 bytes in 1 blocks are still reachable in loss record 411 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A294D7: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 55 bytes in 1 blocks are still reachable in loss record 412 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2953B: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 55 bytes in 1 blocks are still reachable in loss record 413 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A295EF: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 414 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4789F: caf::config_option caf::make_config_option<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A432CF: caf::config_option_adder& caf::config_option_adder::add<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2962B: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 415 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F422D7: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 416 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5C807: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 417 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F61F47: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CA33: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572FF: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 418 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F62A4B: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CFE7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57437: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 419 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F61F47: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CA33: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572FF: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 420 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F62A4B: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CFE7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57437: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 421 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B4AE03: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4A91B: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4A27B: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> > >::_M_allocate_node<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B49D4B: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(std::integral_constant<bool, true>, char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B49823: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B492CB: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > > >::emplace<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B48857: caf::group_manager::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3517: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 422 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B4AE03: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4A91B: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4A5DB: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::intrusive_ptr<caf::group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B49ED3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module> >(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::intrusive_ptr<caf::group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B49903: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::intrusive_ptr<caf::group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4949B: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::intrusive_ptr<caf::group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B48903: caf::group_manager::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3517: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 423 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49EFD87: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EEB9F: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EF80B: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EE8D3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EDDA7: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49ED2A3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::actor_control_block>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EC3AF: caf::actor_registry::put_impl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::intrusive_ptr<caf::actor_control_block>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FD33F: void caf::actor_registry::put<caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::intrusive_ptr<caf::actor_control_block> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F360B: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 424 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49EFD87: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EEB9F: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EF80B: std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> > >::_M_allocate_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EE8D3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EDDA7: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49ED2A3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::actor_control_block>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EC3AF: caf::actor_registry::put_impl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::intrusive_ptr<caf::actor_control_block>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FD33F: void caf::actor_registry::put<caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::intrusive_ptr<caf::actor_control_block> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3667: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 425 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x15ED6F: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>, init_gru, {lambda(init_gru)#3}&>(init_gru&&, {lambda(init_gru)#3}&) (make_counted.hpp:19)
+==72919==    by 0x15EB7B: auto caf::detail::make_behavior_t::operator()<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}) const (behavior_impl.hpp:174)
+==72919==    by 0x15EC1F: void caf::behavior::assign<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&&, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}&&, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}&&) (behavior.hpp:60)
+==72919==    by 0x15EA8F: caf::behavior::behavior<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}&&, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}&&) (behavior.hpp:47)
+==72919==    by 0x15E9EF: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (gru_actor.cpp:150)
+==72919==    by 0x18571F: decltype ({parm#1}((forward<caf::stateful_actor<caf::gru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor>, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor>&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x184F9F: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::gru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 56 bytes in 1 blocks are still reachable in loss record 426 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x147C37: caf::message caf::make_message<run_hru const&, int>(run_hru const&, int&&) (message.hpp:214)
+==72919==    by 0x140117: std::enable_if<(!std::is_same<std::decay<run_hru const&>::type, caf::message>::value)||(((1)>(0))), std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> > >::type caf::make_mailbox_element<run_hru const&, int>(caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, run_hru const&, int&&) (mailbox_element.hpp:120)
+==72919==    by 0x13C507: void caf::detail::profiled_send<caf::event_based_actor, caf::actor_control_block*, caf::actor, run_hru const&, int>(caf::event_based_actor*, caf::actor_control_block*&&, caf::actor const&, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::execution_unit*, run_hru const&, int&&) (profiled_send.hpp:25)
+==72919==    by 0x13970B: std::enable_if<!std::is_same<caf::group, caf::actor>::value, void>::type caf::mixin::sender<caf::scheduled_actor, caf::event_based_actor>::send<(caf::message_priority)1, caf::actor, run_hru const&, int>(caf::actor const&, run_hru const&, int&&) (sender.hpp:79)
+==72919==    by 0x13065F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:91)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 57 bytes in 1 blocks are still reachable in loss record 427 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2945F: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 57 bytes in 1 blocks are still reachable in loss record 428 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0098F: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 58 bytes in 1 blocks are still reachable in loss record 429 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2949B: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 58 bytes in 1 blocks are still reachable in loss record 430 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x687533B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::__sv_wrapper, std::allocator<char> const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A04133: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::basic_string_view<char, std::char_traits<char> >, void>(std::basic_string_view<char, std::char_traits<char> > const&, std::allocator<char> const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0098F: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 59 bytes in 1 blocks are still reachable in loss record 431 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29577: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 59 bytes in 1 blocks are still reachable in loss record 432 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29A4F: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 60 bytes in 6 blocks are still reachable in loss record 433 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 60 bytes in 6 blocks are still reachable in loss record 434 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 62 bytes in 1 blocks are still reachable in loss record 435 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29937: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 62 bytes in 1 blocks are still reachable in loss record 436 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29A13: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 63 bytes in 2 blocks are still reachable in loss record 437 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 438 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4789F: caf::config_option caf::make_config_option<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A432CF: caf::config_option_adder& caf::config_option_adder::add<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F421E7: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 439 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A13717: __gnu_cxx::new_allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A105D7: std::allocator_traits<std::allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > > >::allocate(std::allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0D1BF: std::_Vector_base<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> >, std::allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F6A66F: void std::vector<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> >, std::allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > > >::_M_realloc_insert<std::unique_ptr<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> > > > >(__gnu_cxx::__normal_iterator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> >*, std::vector<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> >, std::allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > > > >, std::unique_ptr<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61DB3: std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> >& std::vector<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> >, std::allocator<std::unique_ptr<caf::telemetry::metric_family, std::default_delete<caf::telemetry::metric_family> > > >::emplace_back<std::unique_ptr<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> > > > >(std::unique_ptr<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >, std::default_delete<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> > > >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5C8C7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 440 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D943: __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143C57: std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::allocate(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13EBF3: std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CB75B: void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (vector.tcc:440)
+==72919==    by 0x1CB327: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1195)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x131413: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:24)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 441 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51BF64F: new_handle_file_info (cppwrap_datatypes.f90:1043)
+==72919==    by 0x13145B: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:31)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA3F: caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 442 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x13146B: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:32)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA3F: caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 443 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52408DF: def_output (def_output.f90:136)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 444 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B04A7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:49)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 445 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B169B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:50)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 446 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B288F: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:51)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 447 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B3A83: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:52)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 448 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B4C7B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:53)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 449 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B5E73: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:54)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 450 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B7333: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:55)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 451 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52B8CEF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:56)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 452 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52BA6AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:57)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 453 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52BC067: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:58)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 454 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52BDA23: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:59)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 455 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52BF3DF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:60)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 456 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C0AD3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:63)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 457 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C1A03: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:64)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 458 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C2933: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:65)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 459 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C3627: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:66)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 460 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C431B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:67)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 461 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C52D7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:68)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 462 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C6A57: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:69)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 463 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C81D7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:70)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 464 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52C97A7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:71)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 465 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52CAD77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:72)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 466 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52CC07F: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:75)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 467 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52CD277: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:76)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 468 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52CE1A7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:77)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 469 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52CF39F: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:78)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 470 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D0597: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:79)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 471 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D1A57: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:80)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 472 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D3413: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:81)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 473 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D4B93: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:82)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 474 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D654F: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:83)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 475 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D7F0B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:84)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 476 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52D95FF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:87)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 477 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52DA143: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:88)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 478 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52DB603: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:89)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 479 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52DCAA3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:90)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 480 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52DE197: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:93)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 481 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52DF153: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:94)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 482 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52E045B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:97)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 483 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52E1653: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:98)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 484 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52E337B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:104)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 485 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52E5F37: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:105)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 486 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52E8AF3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:106)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 487 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52EB6AF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:107)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 488 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52EE26B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:108)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 489 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52F0E27: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:109)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 490 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52F39E3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:112)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 491 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52F63EF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:113)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 492 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52F8DFB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:114)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 493 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52FB6D7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:115)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 494 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52FDFB3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:116)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 495 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x530088F: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:119)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 496 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x530344B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:120)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 497 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5305E57: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:121)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 498 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5308A13: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:122)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 499 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x530B5CF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:123)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 500 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x530E18B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:126)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 501 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5310D47: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:129)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 502 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5313623: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:132)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 503 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512C827: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:106)
+==72919==    by 0x531919B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:159)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 504 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x531F4DB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:185)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 505 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1655AF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 506 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1655BF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 507 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1655CF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 508 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1655DF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 509 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1655EF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 510 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1655FF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 511 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16560F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 512 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C8147: new_handle_var_d (cppwrap_datatypes.f90:398)
+==72919==    by 0x16561F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 513 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C8147: new_handle_var_d (cppwrap_datatypes.f90:398)
+==72919==    by 0x16562F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 514 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16563F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 515 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C9FD7: new_handle_var_i8 (cppwrap_datatypes.f90:176)
+==72919==    by 0x16564F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 516 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C47E3: new_handle_var_ilength (cppwrap_datatypes.f90:668)
+==72919==    by 0x16565F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 517 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x16566F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 518 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x16567F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 519 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x16568F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 520 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x16569F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 521 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C8147: new_handle_var_d (cppwrap_datatypes.f90:398)
+==72919==    by 0x1656AF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 522 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C130B: new_handle_var_dlength (cppwrap_datatypes.f90:905)
+==72919==    by 0x1656BF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 523 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51C8147: new_handle_var_d (cppwrap_datatypes.f90:398)
+==72919==    by 0x1656CF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 524 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51BF393: new_handle_z_lookup (cppwrap_datatypes.f90:1066)
+==72919==    by 0x1656DF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 525 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x1656EF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 526 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x1656FF: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 527 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16570F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 528 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CB747: new_handle_flagVec (cppwrap_datatypes.f90:19)
+==72919==    by 0x16571F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 529 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CB747: new_handle_flagVec (cppwrap_datatypes.f90:19)
+==72919==    by 0x16572F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 530 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16573F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 531 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16574F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 532 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16575F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 533 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51CAA07: new_handle_var_i (cppwrap_datatypes.f90:102)
+==72919==    by 0x16576F: caf::hru_state::hru_state() (hru_actor.hpp:13)
+==72919==    by 0x16586B: caf::stateful_actor<caf::hru_state, caf::event_based_actor>::stateful_actor<>(caf::actor_config&) (stateful_actor.hpp:51)
+==72919==    by 0x164AE7: caf::actor_storage<caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (actor_storage.hpp:30)
+==72919==    by 0x163A4F: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 534 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D7BB: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143A8F: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E93F: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x162E4F: void std::vector<double, std::allocator<double> >::_M_realloc_insert<double>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, double&&) (vector.tcc:440)
+==72919==    by 0x161B4B: double& std::vector<double, std::allocator<double> >::emplace_back<double>(double&&) (vector.tcc:121)
+==72919==    by 0x160A93: std::vector<double, std::allocator<double> >::push_back(double&&) (stl_vector.h:1201)
+==72919==    by 0x1CA87F: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:38)
+==72919==    by 0x16A16B: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:21)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 535 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C48F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:169)
+==72919==    by 0x5330E43: initHRU (init_hru_actor.f90:252)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 536 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C48F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:169)
+==72919==    by 0x5330ED3: initHRU (init_hru_actor.f90:253)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 537 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x533233F: initHRU (init_hru_actor.f90:292)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 538 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513742B: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:498)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x533233F: initHRU (init_hru_actor.f90:292)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 539 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4BEC8D7: std::_MakeUniq<caf::mailbox_element>::__single_object std::make_unique<caf::mailbox_element, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id&, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::message>(caf::intrusive_ptr<caf::actor_control_block>&&, caf::message_id&, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >&&, caf::message&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BEC807: caf::make_mailbox_element(caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::message) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F28E27: std::enable_if<(!std::is_same<std::decay<caf::tick_atom const&>::type, caf::message>::value)||(((3)>(0))), std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> > >::type caf::make_mailbox_element<caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F2344F: void caf::detail::profiled_send<caf::io::broker, caf::actor_control_block*, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::broker*, caf::actor_control_block*&&, caf::io::basp_broker* const&, caf::actor_clock&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::message_id, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1FEE3: std::enable_if<!std::is_same<caf::io::basp_broker*, caf::group>::value, void>::type caf::mixin::sender<caf::io::abstract_broker, caf::io::broker>::scheduled_send<(caf::message_priority)1, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::basp_broker* const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F11457: caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}::operator()(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C05B: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, 0l, 1l, 2l, 3l, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::detail::int_list<0l, 1l, 2l, 3l>, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C0AF: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, , caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C15B: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>)::{lambda(auto:1&)#1}::operator()<caf::error>(auto, {lambda(caf::get_atom, caf::node_id)#20}) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C4B7: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1992F: caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message_id&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 540 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x16C14F: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, dt_init_factor&>(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&&, dt_init_factor&) (make_counted.hpp:19)
+==72919==    by 0x16BF17: auto caf::detail::make_behavior_t::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}) const (behavior_impl.hpp:174)
+==72919==    by 0x16BFD3: void caf::behavior::assign<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}&&, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}&&, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&&, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}&&) (behavior.hpp:60)
+==72919==    by 0x16BDFF: caf::behavior::behavior<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}&&, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&&, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}&&) (behavior.hpp:47)
+==72919==    by 0x16A503: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:147)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 541 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5118A1F: __access_forcing_module_MOD_access_forcingfile (access_forcing.f90:71)
+==72919==    by 0x51D554F: FileAccessActor_ReadForcing (cppwrap_fileAccess.f90:203)
+==72919==    by 0x1304B3: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:76)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 542 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4BEC8D7: std::_MakeUniq<caf::mailbox_element>::__single_object std::make_unique<caf::mailbox_element, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id&, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::message>(caf::intrusive_ptr<caf::actor_control_block>&&, caf::message_id&, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >&&, caf::message&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BEC807: caf::make_mailbox_element(caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::message) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x140137: std::enable_if<(!std::is_same<std::decay<run_hru const&>::type, caf::message>::value)||(((1)>(0))), std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> > >::type caf::make_mailbox_element<run_hru const&, int>(caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, run_hru const&, int&&) (mailbox_element.hpp:120)
+==72919==    by 0x13C507: void caf::detail::profiled_send<caf::event_based_actor, caf::actor_control_block*, caf::actor, run_hru const&, int>(caf::event_based_actor*, caf::actor_control_block*&&, caf::actor const&, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::execution_unit*, run_hru const&, int&&) (profiled_send.hpp:25)
+==72919==    by 0x13970B: std::enable_if<!std::is_same<caf::group, caf::actor>::value, void>::type caf::mixin::sender<caf::scheduled_actor, caf::event_based_actor>::send<(caf::message_priority)1, caf::actor, run_hru const&, int>(caf::actor const&, run_hru const&, int&&) (sender.hpp:79)
+==72919==    by 0x13065F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:91)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 543 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A1F043: caf::detail::double_ended_queue<caf::resumable>::prepend(caf::resumable*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D85F: void caf::policy::work_stealing::internal_enqueue<caf::scheduler::worker<caf::policy::work_stealing> >(caf::scheduler::worker<caf::policy::work_stealing>*, caf::resumable*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1C82B: caf::scheduler::worker<caf::policy::work_stealing>::exec_later(caf::resumable*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C080EF: caf::scheduled_actor::enqueue(std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> >, caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x13C557: void caf::detail::profiled_send<caf::event_based_actor, caf::actor_control_block*, caf::actor, run_hru const&, int>(caf::event_based_actor*, caf::actor_control_block*&&, caf::actor const&, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::execution_unit*, run_hru const&, int&&) (profiled_send.hpp:29)
+==72919==    by 0x13970B: std::enable_if<!std::is_same<caf::group, caf::actor>::value, void>::type caf::mixin::sender<caf::scheduled_actor, caf::event_based_actor>::send<(caf::message_priority)1, caf::actor, run_hru const&, int>(caf::actor const&, run_hru const&, int&&) (sender.hpp:79)
+==72919==    by 0x13065F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:91)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 544 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A9DBB: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:283)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 1 blocks are still reachable in loss record 545 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AA13B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:285)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 2 blocks are still reachable in loss record 546 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6935BDB: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
+==72919==    by 0x679347B: __cxa_thread_atexit (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4BE7F93: __tls_init (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE7FAB: TLS wrapper function for caf::(anonymous namespace)::current_logger_ptr (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE3DE3: caf::logger::set_current_actor_system(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B00F: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B76F: char const* std::__invoke_impl<void, std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(std::__invoke_other, std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}&&, caf::intrusive_ptr<caf::ref_counted>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B6B7: std::__invoke_result<char const*, caf::intrusive_ptr<caf::ref_counted> >::type std::__invoke<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(char const*&&, (caf::intrusive_ptr<caf::ref_counted>&&)...) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B61B: void std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B5D7: std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::operator()() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B5B7: std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >::_M_run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 4 blocks are still reachable in loss record 547 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 64 bytes in 4 blocks are still reachable in loss record 548 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 64 bytes in 4 blocks are still reachable in loss record 549 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 64 bytes in 4 blocks are still reachable in loss record 550 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 64 bytes in 4 blocks are still reachable in loss record 551 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5135B3F: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:489)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 65 bytes in 1 blocks are still reachable in loss record 552 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29667: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 65 bytes in 1 blocks are still reachable in loss record 553 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29973: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 65 bytes in 1 blocks are still reachable in loss record 554 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A478F3: caf::config_option caf::make_config_option<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4337F: caf::config_option_adder& caf::config_option_adder::add<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A299AF: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 67 bytes in 1 blocks are still reachable in loss record 555 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29897: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 68 bytes in 6 blocks are still reachable in loss record 556 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 68 bytes in 6 blocks are still reachable in loss record 557 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 70 bytes in 1 blocks are still reachable in loss record 558 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A478F3: caf::config_option caf::make_config_option<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4337F: caf::config_option_adder& caf::config_option_adder::add<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29AC7: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 71 bytes in 1 blocks are still reachable in loss record 559 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29A8B: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 71 bytes in 1 blocks are still reachable in loss record 560 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5D8B3: caf::config_option caf::make_config_option<unsigned short>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57E47: caf::config_option_adder& caf::config_option_adder::add<unsigned short>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4233F: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 71 bytes in 1 blocks are still reachable in loss record 561 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 562 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A295B3: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 563 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29743: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 564 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A478F3: caf::config_option caf::make_config_option<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4337F: caf::config_option_adder& caf::config_option_adder::add<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29B2B: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 565 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F420F7: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 566 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F916A7: __gnu_cxx::new_allocator<long>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F86EAF: std::allocator_traits<std::allocator<long> >::allocate(std::allocator<long>&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7F983: std::_Vector_base<long, std::allocator<long> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F79BAF: long* std::vector<long, std::allocator<long> >::_M_allocate_and_copy<long const*>(unsigned long, long const*, long const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F73FCF: void std::vector<long, std::allocator<long> >::_M_assign_aux<long const*>(long const*, long const*, std::forward_iterator_tag) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6A153: void std::vector<long, std::allocator<long> >::_M_assign_dispatch<long const*>(long const*, long const*, std::__false_type) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61AAB: void std::vector<long, std::allocator<long> >::assign<long const*, void>(long const*, long const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5C7AF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 567 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D7BB: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143A8F: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E93F: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x4A11C6F: double* std::vector<double, std::allocator<double> >::_M_allocate_and_copy<double const*>(unsigned long, double const*, double const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0E66F: void std::vector<double, std::allocator<double> >::_M_assign_aux<double const*>(double const*, double const*, std::forward_iterator_tag) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0A407: void std::vector<double, std::allocator<double> >::_M_assign_dispatch<double const*>(double const*, double const*, std::__false_type) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0518F: void std::vector<double, std::allocator<double> >::assign<double const*, void>(double const*, double const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00937: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 568 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F916A7: __gnu_cxx::new_allocator<long>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F86EAF: std::allocator_traits<std::allocator<long> >::allocate(std::allocator<long>&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7F983: std::_Vector_base<long, std::allocator<long> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F79BAF: long* std::vector<long, std::allocator<long> >::_M_allocate_and_copy<long const*>(unsigned long, long const*, long const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F73FCF: void std::vector<long, std::allocator<long> >::_M_assign_aux<long const*>(long const*, long const*, std::forward_iterator_tag) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6A153: void std::vector<long, std::allocator<long> >::_M_assign_dispatch<long const*>(long const*, long const*, std::__false_type) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61AAB: void std::vector<long, std::allocator<long> >::assign<long const*, void>(long const*, long const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5C7AF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 569 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D7BB: __gnu_cxx::new_allocator<double>::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143A8F: std::allocator_traits<std::allocator<double> >::allocate(std::allocator<double>&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E93F: std::_Vector_base<double, std::allocator<double> >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x4A11C6F: double* std::vector<double, std::allocator<double> >::_M_allocate_and_copy<double const*>(unsigned long, double const*, double const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0E66F: void std::vector<double, std::allocator<double> >::_M_assign_aux<double const*>(double const*, double const*, std::forward_iterator_tag) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0A407: void std::vector<double, std::allocator<double> >::_M_assign_dispatch<double const*>(double const*, double const*, std::__false_type) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A0518F: void std::vector<double, std::allocator<double> >::assign<double const*, void>(double const*, double const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A00937: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 570 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F8684B: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7EFBF: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > >&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7870B: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > >::_M_get_node() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F710C3: std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > >::_M_create_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::actor&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::actor&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F66F0B: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > >::_M_emplace_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::actor&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::actor&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5FB1B: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> >, bool> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::actor> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::actor&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::actor&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5AB4B: caf::actor caf::io::middleman::named_broker<caf::io::basp_broker>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44AFB: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 72 bytes in 1 blocks are still reachable in loss record 571 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x175F0B: caf::initalizeGRU(caf::stateful_actor<caf::job_state, caf::event_based_actor>*) (job_actor.cpp:268)
+==72919==    by 0x173F9B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (job_actor.cpp:103)
+==72919==    by 0x177A37: decltype(auto) caf::detail::apply_args<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x177A87: decltype(auto) caf::detail::apply_args<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919==    by 0x177B33: bool caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>)::{lambda(auto:1&)#1}::operator()<{lambda(init_hru)#1}>(auto, caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl) const (behavior_impl.hpp:123)
+==72919==    by 0x178863: bool caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) (behavior_impl.hpp:133)
+==72919==    by 0x1779D7: caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A8FB: caf::scheduled_actor::reactivate(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 72 bytes in 3 blocks are still reachable in loss record 572 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 72 bytes in 3 blocks are still reachable in loss record 573 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 73 bytes in 1 blocks are still reachable in loss record 574 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A478F3: caf::config_option caf::make_config_option<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4337F: caf::config_option_adder& caf::config_option_adder::add<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F42133: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 74 bytes in 1 blocks are still reachable in loss record 575 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A478F3: caf::config_option caf::make_config_option<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4337F: caf::config_option_adder& caf::config_option_adder::add<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29B67: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 74 bytes in 1 blocks are still reachable in loss record 576 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 76 bytes in 1 blocks are still reachable in loss record 577 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A296CB: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 77 bytes in 1 blocks are still reachable in loss record 578 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A297F7: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 78 bytes in 1 blocks are still reachable in loss record 579 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A477F7: caf::config_option caf::make_config_option<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4316F: caf::config_option_adder& caf::config_option_adder::add<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F4237B: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 79 bytes in 1 blocks are still reachable in loss record 580 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A2977F: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 581 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F421AB: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 582 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F8F7: __def_output_module_MOD_ini_create (def_output.f90:275)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 583 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F9C7: __def_output_module_MOD_ini_create (def_output.f90:276)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 584 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FA9B: __def_output_module_MOD_ini_create (def_output.f90:277)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 585 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FB6B: __def_output_module_MOD_ini_create (def_output.f90:278)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 586 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FC3F: __def_output_module_MOD_ini_create (def_output.f90:279)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 587 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FD13: __def_output_module_MOD_ini_create (def_output.f90:280)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 588 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FDEB: __def_output_module_MOD_ini_create (def_output.f90:281)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 589 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FEB3: __def_output_module_MOD_ini_create (def_output.f90:282)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 590 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523FF77: __def_output_module_MOD_ini_create (def_output.f90:283)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 591 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240053: __def_output_module_MOD_ini_create (def_output.f90:284)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 592 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5240127: __def_output_module_MOD_ini_create (def_output.f90:285)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 593 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52401FF: __def_output_module_MOD_ini_create (def_output.f90:286)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 80 bytes in 1 blocks are still reachable in loss record 594 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D24323: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52402DF: __def_output_module_MOD_ini_create (def_output.f90:287)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 82 bytes in 1 blocks are still reachable in loss record 595 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F4229B: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 83 bytes in 1 blocks are still reachable in loss record 596 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4784B: caf::config_option caf::make_config_option<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4321F: caf::config_option_adder& caf::config_option_adder::add<unsigned long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29707: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 83 bytes in 1 blocks are still reachable in loss record 597 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F4216F: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 83 bytes in 1 blocks are still reachable in loss record 598 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x682ED23: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x682F083: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x18205B: void nlohmann::detail::from_json<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > >(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >::string_t&) (json.hpp:3897)
+==72919==    by 0x18171F: decltype (from_json({parm#1}, (forward<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>)({parm#2}))) nlohmann::detail::from_json_fn::operator()<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const (json.hpp:4273)
+==72919==    by 0x1810CF: decltype ((nlohmann::(anonymous namespace)::from_json((forward<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > const&>)({parm#1}), {parm#2})),((void)())) nlohmann::adl_serializer<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>::from_json<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) (json.hpp:4934)
+==72919==    by 0x18058B: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >::get_impl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 0>(nlohmann::detail::priority_tag<0u>) const (json.hpp:18764)
+==72919==    by 0x17F577: _ZNK8nlohmann10basic_jsonISt3mapSt6vectorNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEblmdSaNS_14adl_serializerES2_IhSaIhEEE3getIS8_S8_EEDTcldtcl7declvalIRKSC_EE8get_implIT0_EtlNS_6detail12priority_tagILj4EEEEEEv (json.hpp:18907)
+==72919==    by 0x17E947: nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> ><std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 0>() const (json.hpp:19050)
+==72919==    by 0x17D293: std::_Optional_payload_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::_Storage<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, false>::_Storage<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&>(std::in_place_t, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&) (optional:223)
+==72919==    by 0x17D2F3: std::_Optional_payload_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::_Optional_payload_base<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&>(std::in_place_t, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&) (optional:115)
+==72919==    by 0x17BF9F: std::_Optional_payload<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, true, false, false>::_Optional_payload_base<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&>(std::in_place_t, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char> > >&) (optional:356)
+==72919== 
+==72919== 84 bytes in 1 blocks are still reachable in loss record 599 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C805B: defineGlobalData (summaActors_globalData.f90:163)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 86 bytes in 6 blocks are still reachable in loss record 600 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 86 bytes in 6 blocks are still reachable in loss record 601 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 87 bytes in 1 blocks are still reachable in loss record 602 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4789F: caf::config_option caf::make_config_option<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A432CF: caf::config_option_adder& caf::config_option_adder::add<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A29833: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 603 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54431C7: readDimension (read_attribute.f90:128)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA3F: caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 604 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 605 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 606 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 607 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 608 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 609 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 610 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 611 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238807: __def_output_module_MOD_write_hru_info (def_output.f90:500)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 612 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523893F: __def_output_module_MOD_write_hru_info (def_output.f90:501)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 613 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 614 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238BDF: __def_output_module_MOD_write_hru_info (def_output.f90:505)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 615 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238D17: __def_output_module_MOD_write_hru_info (def_output.f90:506)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 616 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 617 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238FB7: __def_output_module_MOD_write_hru_info (def_output.f90:510)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 618 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52390EF: __def_output_module_MOD_write_hru_info (def_output.f90:511)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 619 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 620 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523938F: __def_output_module_MOD_write_hru_info (def_output.f90:515)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 621 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52394C7: __def_output_module_MOD_write_hru_info (def_output.f90:516)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 622 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x131DEB: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:281)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA3F: caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 88 bytes in 1 blocks are still reachable in loss record 623 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F2D3B3: caf::message caf::make_message<caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F28E07: std::enable_if<(!std::is_same<std::decay<caf::tick_atom const&>::type, caf::message>::value)||(((3)>(0))), std::unique_ptr<caf::mailbox_element, std::default_delete<caf::mailbox_element> > >::type caf::make_mailbox_element<caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, std::vector<caf::intrusive_ptr<caf::actor_control_block>, std::allocator<caf::intrusive_ptr<caf::actor_control_block> > >, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F2344F: void caf::detail::profiled_send<caf::io::broker, caf::actor_control_block*, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::broker*, caf::actor_control_block*&&, caf::io::basp_broker* const&, caf::actor_clock&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::message_id, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1FEE3: std::enable_if<!std::is_same<caf::io::basp_broker*, caf::group>::value, void>::type caf::mixin::sender<caf::io::abstract_broker, caf::io::broker>::scheduled_send<(caf::message_priority)1, caf::io::basp_broker*, caf::tick_atom const&, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&>(caf::io::basp_broker* const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, caf::tick_atom const&, long&&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F11457: caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}::operator()(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C05B: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, 0l, 1l, 2l, 3l, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::detail::int_list<0l, 1l, 2l, 3l>, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C0AF: decltype(auto) caf::detail::apply_args<caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}, , caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)#21}&, caf::const_typed_message_view<caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C15B: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>)::{lambda(auto:1&)#1}::operator()<caf::error>(auto, {lambda(caf::get_atom, caf::node_id)#20}) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1C4B7: bool caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>(caf::detail::invoke_result_visitor&, caf::message_id&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, 10ul, 11ul, 12ul, 13ul, 14ul, 15ul, 16ul, 17ul, 18ul, 19ul>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F1992F: caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message_id&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 88 bytes in 11 blocks are still reachable in loss record 624 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53313FB: initHRU (init_hru_actor.f90:262)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 89 bytes in 1 blocks are still reachable in loss record 625 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4789F: caf::config_option caf::make_config_option<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A432CF: caf::config_option_adder& caf::config_option_adder::add<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A297BB: caf::actor_system_config::actor_system_config() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188143: config::config() (main.cpp:29)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 90 bytes in 1 blocks are still reachable in loss record 626 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47747: caf::config_option caf::make_config_option<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A430BF: caf::config_option_adder& caf::config_option_adder::add<bool>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F4225F: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 90 bytes in 1 blocks are still reachable in loss record 627 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6CF50FF: new_NC (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE94B3: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 90 bytes in 15 blocks are still reachable in loss record 628 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 90 bytes in 15 blocks are still reachable in loss record 629 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 94 bytes in 3 blocks are still reachable in loss record 630 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 96 bytes in 1 blocks are still reachable in loss record 631 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4FAEFF7: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#1}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#2}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::unpublish_atom, caf::actor_addr, unsigned short)#4}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::close_atom, unsigned short)#5}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::get_atom, caf::group_atom, caf::close_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#7}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::node_id, caf::close_atom)#8}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#1}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#2}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::unpublish_atom, caf::actor_addr, unsigned short)#4}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::close_atom, unsigned short)#5}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::get_atom, caf::group_atom, caf::close_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#7}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::node_id, caf::close_atom)#8}>, caf::detail::dummy_timeout_definition>, {lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}&>({lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}&&, caf::io::middleman_actor_impl::make_behavior()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FAE5D3: auto caf::detail::make_behavior_t::operator()<caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#1}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#2}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::unpublish_atom, caf::actor_addr, unsigned short)#4}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::close_atom, unsigned short)#5}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::get_atom, caf::group_atom, caf::close_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#7}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::node_id, caf::close_atom)#8}>(caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#1}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#2}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::unpublish_atom, caf::actor_addr, unsigned short)#4}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::close_atom, unsigned short)#5}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::get_atom, caf::group_atom, caf::close_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#7}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::node_id, caf::close_atom)#8}) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FAE6FB: caf::typed_behavior<caf::result<unsigned short> (caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<unsigned short> (caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<caf::node_id, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > (caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short), caf::result<void> (caf::unpublish_atom, caf::actor_addr, unsigned short), caf::result<void> (caf::close_atom, unsigned short), caf::result<caf::intrusive_ptr<caf::actor_control_block> > (caf::spawn_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::message, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >), caf::result<caf::actor> (caf::get_atom, caf::group_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), caf::result<caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> (caf::get_atom, caf::node_id)>::typed_behavior<caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#1}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#2}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::unpublish_atom, caf::actor_addr, unsigned short)#4}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::close_atom, unsigned short)#5}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::get_atom, caf::group_atom, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#7}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::get_atom, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3})#8}>(caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#1}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool)#2}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::unpublish_atom, caf::actor_addr, unsigned short)#4}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::close_atom, unsigned short)#5}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::spawn_atom, caf::node_id&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::message&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)#6}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::get_atom, caf::group_atom, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#7}, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::get_atom, caf::io::middleman_actor_impl::make_behavior[abi:cxx11]()::{lambda(caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned short)#3})#8}) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FADABB: caf::io::middleman_actor_impl::make_behavior[abi:cxx11]() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FC0123: caf::typed_event_based_actor<caf::result<unsigned short> (caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<unsigned short> (caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<caf::node_id, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > (caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short), caf::result<void> (caf::unpublish_atom, caf::actor_addr, unsigned short), caf::result<void> (caf::close_atom, unsigned short), caf::result<caf::intrusive_ptr<caf::actor_control_block> > (caf::spawn_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::message, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >), caf::result<caf::actor> (caf::get_atom, caf::group_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), caf::result<caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> (caf::get_atom, caf::node_id)>::initialize() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AABF: caf::detail::private_thread::run(caf::actor_system*)::{lambda(caf::resumable*)#1}::operator()(caf::resumable*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AB97: caf::detail::private_thread::run(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE1F: caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B033: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 96 bytes in 1 blocks are still reachable in loss record 632 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1769AB: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>, {lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}&>({lambda(done_init_gru)#6}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}&) (make_counted.hpp:19)
+==72919==    by 0x176643: auto caf::detail::make_behavior_t::operator()<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}) const (behavior_impl.hpp:174)
+==72919==    by 0x17676B: void caf::behavior::assign<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}&&) (behavior.hpp:60)
+==72919==    by 0x17647B: caf::behavior::behavior<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}&&, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}&&) (behavior.hpp:47)
+==72919==    by 0x17597F: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:232)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 96 bytes in 3 blocks are still reachable in loss record 633 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6935BDB: __cxa_thread_atexit_impl (cxa_thread_atexit_impl.c:106)
+==72919==    by 0x679347B: __cxa_thread_atexit (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4BE7F93: __tls_init (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE7FAB: TLS wrapper function for caf::(anonymous namespace)::current_logger_ptr (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BE3DE3: caf::logger::set_current_actor_system(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A230C3: std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A27F47: char const* std::__invoke_impl<void, std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(std::__invoke_other, std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}&&, caf::intrusive_ptr<caf::ref_counted>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A27DDF: std::__invoke_result<char const*, caf::intrusive_ptr<caf::ref_counted> >::type std::__invoke<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(char const*&&, (caf::intrusive_ptr<caf::ref_counted>&&)...) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A27CF7: void std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A27C97: std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > >::operator()() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A27C53: std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >::_M_run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 96 bytes in 6 blocks are still reachable in loss record 634 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 96 bytes in 6 blocks are still reachable in loss record 635 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 96 bytes in 6 blocks are still reachable in loss record 636 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 96 bytes in 12 blocks are still reachable in loss record 637 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53311A3: initHRU (init_hru_actor.f90:258)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 96 bytes in 12 blocks are still reachable in loss record 638 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DD93: __opsplittin_module_MOD_opsplittin (opSplittin.f90:455)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 104 bytes in 1 blocks are still reachable in loss record 639 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49DFCAB: __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49DFC47: std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::allocate(std::allocator<std::__detail::_Hash_node_base*>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4B473: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true> > >::_M_allocate_buckets(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4B34F: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_allocate_buckets(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4AF5B: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, true>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4AAEB: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_rehash(unsigned long, unsigned long const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4A4DB: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, true>*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B49DFF: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(std::integral_constant<bool, true>, char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B49823: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B492CB: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> >, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::group_module>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::group_module> > > >::emplace<char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module> >(char const (&) [6], caf::intrusive_ptr<caf::detail::local_group_module>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B48857: caf::group_manager::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 104 bytes in 1 blocks are still reachable in loss record 640 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49DFCAB: __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49DFC47: std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::allocate(std::allocator<std::__detail::_Hash_node_base*>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EFEB7: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true> > >::_M_allocate_buckets(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EEC83: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_allocate_buckets(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F0FDB: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, true>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F074B: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_rehash(unsigned long, unsigned long const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EFA37: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, true>*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EE987: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EDDA7: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49ED2A3: std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >, false, true>, bool> std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::intrusive_ptr<caf::actor_control_block>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> > > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::intrusive_ptr<caf::actor_control_block> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&, caf::intrusive_ptr<caf::actor_control_block>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49EC3AF: caf::actor_registry::put_impl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::intrusive_ptr<caf::actor_control_block>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 104 bytes in 1 blocks are still reachable in loss record 641 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49DFCAB: __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49DFC47: std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::allocate(std::allocator<std::__detail::_Hash_node_base*>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1ADBB: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false> > >::_M_allocate_buckets(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1ABA3: std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_allocate_buckets(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1A693: std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, true>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C19E1F: std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_rehash(unsigned long, unsigned long const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C19287: std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false>*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C186DB: std::pair<std::__detail::_Node_iterator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false, false>, bool> std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_emplace<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(std::integral_constant<bool, true>, unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C17B4F: std::pair<std::__detail::_Node_iterator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false, false>, bool> std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::emplace<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C16BEB: std::pair<std::__detail::_Node_iterator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false, false>, bool> std::unordered_map<unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> > >::emplace<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C15C57: caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(unsigned long, bool)#1}::operator()(unsigned long, bool) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 104 bytes in 1 blocks are still reachable in loss record 642 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D244D7: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 104 bytes in 1 blocks are still reachable in loss record 643 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CF1C43: nclistset (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24387: nc4_dim_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B847: NC4_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9C8B: nc_def_dim (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661EA4B: nf_def_dim_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52402DF: __def_output_module_MOD_ini_create (def_output.f90:287)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 104 bytes in 1 blocks are still reachable in loss record 644 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x13321B: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, restart_failures&>(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}&&, restart_failures&) (make_counted.hpp:19)
+==72919==    by 0x132E1F: auto caf::detail::make_behavior_t::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}) const (behavior_impl.hpp:174)
+==72919==    by 0x132F87: void caf::behavior::assign<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}&&) (behavior.hpp:60)
+==72919==    by 0x132C07: caf::behavior::behavior<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}&&, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}&&) (behavior.hpp:47)
+==72919==    by 0x1315BB: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:191)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 105 bytes in 15 blocks are still reachable in loss record 645 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D247B3: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 105 bytes in 15 blocks are still reachable in loss record 646 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 120 bytes in 1 blocks are still reachable in loss record 647 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A5F1C7: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A5D3AB: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A5AE53: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::_M_get_node() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A57B9B: std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::_M_create_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A53B0F: std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::_M_emplace_hint_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value>(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A5074F: std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::emplace_hint<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value>(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4AE83: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, bool> caf::dictionary<caf::config_value>::emplace<std::basic_string_view<char, std::char_traits<char> >&, caf::config_value>(std::basic_string_view<char, std::char_traits<char> >&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47B87: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, bool> caf::dictionary<caf::config_value>::insert<caf::config_value>(std::basic_string_view<char, std::char_traits<char> >, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A435BB: caf::dictionary<caf::config_value>::operator[](std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E443: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const::{lambda(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)#1}::operator()(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E98B: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 120 bytes in 15 blocks are still reachable in loss record 648 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 120 bytes in 15 blocks are still reachable in loss record 649 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 650 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4C198FB: std::_Function_base::_Base_manager<caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&)::{lambda(caf::blocking_actor::receive_cond&)#1}>::_M_init_functor(std::_Any_data&, caf::blocking_actor::do_receive_helper&&, std::integral_constant<bool, false>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C189F3: std::_Function_base::_Base_manager<caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&)::{lambda(caf::blocking_actor::receive_cond&)#1}>::_M_init_functor(std::_Any_data&, caf::blocking_actor::do_receive_helper&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C17E93: std::function<void (caf::blocking_actor::receive_cond&)>::function<caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&)::{lambda(caf::blocking_actor::receive_cond&)#1}, void, void>(caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&)::{lambda(caf::blocking_actor::receive_cond&)#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1730F: caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C162E3: caf::scheduler::(anonymous namespace)::printer_actor::act() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A72867: caf::(anonymous namespace)::blocking_actor_runner::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AABF: caf::detail::private_thread::run(caf::actor_system*)::{lambda(caf::resumable*)#1}::operator()(caf::resumable*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AB97: caf::detail::private_thread::run(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE1F: caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B033: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}::operator()<caf::intrusive_ptr<caf::ref_counted> >(auto, char const*) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2B76F: char const* std::__invoke_impl<void, std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> >(std::__invoke_other, std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}&&, caf::intrusive_ptr<caf::ref_counted>&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 651 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x53185CB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:156)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 652 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x5324903: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:209)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 653 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA847: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:36)
+==72919==    by 0x16A16B: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:21)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 654 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D57F: __gnu_cxx::new_allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x14386B: std::allocator_traits<std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::allocate(std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13E65B: std::_Vector_base<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CC00F: void std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::_M_realloc_insert<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(__gnu_cxx::__normal_iterator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >*, std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > > >, std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:440)
+==72919==    by 0x1CB997: std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >& std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::emplace_back<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > >(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (vector.tcc:121)
+==72919==    by 0x1CB357: std::vector<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >, std::allocator<std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > > > >::push_back(std::optional<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >&&) (stl_vector.h:1201)
+==72919==    by 0x1CA86B: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:37)
+==72919==    by 0x16A16B: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:21)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 655 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5332023: initHRU (init_hru_actor.f90:291)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 1 blocks are still reachable in loss record 656 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5332FBB: initHRU (init_hru_actor.f90:296)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 2 blocks are still reachable in loss record 657 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513742B: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:498)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5332023: initHRU (init_hru_actor.f90:291)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 128 bytes in 2 blocks are still reachable in loss record 658 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513742B: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:498)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5332FBB: initHRU (init_hru_actor.f90:296)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 132 bytes in 33 blocks are still reachable in loss record 659 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5132AA7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:554)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x5331113: initHRU (init_hru_actor.f90:257)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 136 bytes in 1 blocks are still reachable in loss record 660 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B2B98F: std::_MakeUniq<caf::detail::private_thread>::__single_object std::make_unique<caf::detail::private_thread>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE5F: caf::detail::private_thread::launch(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C19B: caf::detail::private_thread_pool::acquire() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F436B: caf::actor_system::acquire_private_thread() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A72AFB: caf::blocking_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C18023: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn_impl<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1750B: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C163FF: caf::scheduler::abstract_coordinator::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D087: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919== 
+==72919== 136 bytes in 1 blocks are still reachable in loss record 661 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B2B98F: std::_MakeUniq<caf::detail::private_thread>::__single_object std::make_unique<caf::detail::private_thread>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE5F: caf::detail::private_thread::launch(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C19B: caf::detail::private_thread_pool::acquire() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F436B: caf::actor_system::acquire_private_thread() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0849B: caf::scheduled_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4FAC1AB: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn_impl<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor_config&, caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FABE73: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FABC97: caf::io::make_middleman_actor[abi:cxx11](caf::actor_system&, caf::actor) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44B3B: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919== 
+==72919== 136 bytes in 6 blocks are still reachable in loss record 662 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 136 bytes in 6 blocks are still reachable in loss record 663 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 136 bytes in 15 blocks are still reachable in loss record 664 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2427F: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 136 bytes in 15 blocks are still reachable in loss record 665 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30F03: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 141 bytes in 1 blocks are still reachable in loss record 666 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A7C1AB: caf::config_option::config_option(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::config_option::meta_state const*, void*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4789F: caf::config_option caf::make_config_option<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A432CF: caf::config_option_adder& caf::config_option_adder::add<std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F42223: caf::io::middleman::add_module_options(caf::actor_system_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CEC3: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>() (actor_system_config.hpp:137)
+==72919==    by 0x18B877: void caf::exec_main_load_module<caf::io::middleman>(caf::actor_system_config&) (exec_main.hpp:54)
+==72919==    by 0x18A48F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:79)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 144 bytes in 6 blocks are still reachable in loss record 667 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 144 bytes in 6 blocks are still reachable in loss record 668 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 150 bytes in 15 blocks are still reachable in loss record 669 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 150 bytes in 15 blocks are still reachable in loss record 670 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 152 bytes in 1 blocks are still reachable in loss record 671 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4C1A167: caf::intrusive_ptr<caf::detail::default_behavior_impl<std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>, caf::detail::dummy_timeout_definition>, {lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&>({lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C196CB: auto caf::detail::make_behavior_t::operator()<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1981B: caf::intrusive_ptr<caf::detail::behavior_impl> caf::detail::make_behavior_impl_t::operator()<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C188D3: decltype ({parm#1}(move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args<caf::detail::make_behavior_impl_t const, 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}> >(caf::detail::make_behavior_impl_t const&, caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C17D8F: void caf::blocking_actor::varargs_tup_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::blocking_actor::receive_cond&, caf::message_id, std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C171B3: caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&)::{lambda(caf::blocking_actor::receive_cond&)#1}::operator()(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C18A57: std::_Function_handler<void (caf::blocking_actor::receive_cond&), caf::blocking_actor::do_receive_helper caf::blocking_actor::do_receive<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}&&, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}&&)::{lambda(caf::blocking_actor::receive_cond&)#1}>::_M_invoke(std::_Any_data const&, caf::blocking_actor::receive_cond&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1DC43: std::function<void (caf::blocking_actor::receive_cond&)>::operator()(caf::blocking_actor::receive_cond&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C17467: void caf::blocking_actor::do_receive_helper::until<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda()#9}>(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda()#9}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C162F3: caf::scheduler::(anonymous namespace)::printer_actor::act() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A72867: caf::(anonymous namespace)::blocking_actor_runner::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 160 bytes in 1 blocks are still reachable in loss record 672 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F7A93F: caf::telemetry::histogram<long>::init_buckets(caf::span<long const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F74BCF: caf::telemetry::histogram<long>::histogram(caf::span<caf::telemetry::label const>, caf::dictionary<caf::config_value> const*, caf::span<long const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6AC73: caf::telemetry::metric_impl<caf::telemetry::histogram<long> >::metric_impl<caf::dictionary<caf::config_value> const*&, std::vector<long, std::allocator<long> >&>(std::vector<caf::telemetry::label, std::allocator<caf::telemetry::label> >, caf::dictionary<caf::config_value> const*&, std::vector<long, std::allocator<long> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61F6F: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CA33: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572FF: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919== 
+==72919== 160 bytes in 1 blocks are still reachable in loss record 673 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F7BD4B: caf::telemetry::histogram<double>::init_buckets(caf::span<double const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F75C93: caf::telemetry::histogram<double>::histogram(caf::span<caf::telemetry::label const>, caf::dictionary<caf::config_value> const*, caf::span<double const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6BE67: caf::telemetry::metric_impl<caf::telemetry::histogram<double> >::metric_impl<caf::dictionary<caf::config_value> const*&, std::vector<double, std::allocator<double> >&>(std::vector<caf::telemetry::label, std::allocator<caf::telemetry::label> >, caf::dictionary<caf::config_value> const*&, std::vector<double, std::allocator<double> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F62A73: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CFE7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57437: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919== 
+==72919== 160 bytes in 1 blocks are still reachable in loss record 674 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F7A93F: caf::telemetry::histogram<long>::init_buckets(caf::span<long const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F74BCF: caf::telemetry::histogram<long>::histogram(caf::span<caf::telemetry::label const>, caf::dictionary<caf::config_value> const*, caf::span<long const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6AC73: caf::telemetry::metric_impl<caf::telemetry::histogram<long> >::metric_impl<caf::dictionary<caf::config_value> const*&, std::vector<long, std::allocator<long> >&>(std::vector<caf::telemetry::label, std::allocator<caf::telemetry::label> >, caf::dictionary<caf::config_value> const*&, std::vector<long, std::allocator<long> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F61F6F: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CA33: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572FF: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919== 
+==72919== 160 bytes in 1 blocks are still reachable in loss record 675 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F7BD4B: caf::telemetry::histogram<double>::init_buckets(caf::span<double const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F75C93: caf::telemetry::histogram<double>::histogram(caf::span<caf::telemetry::label const>, caf::dictionary<caf::config_value> const*, caf::span<double const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F6BE67: caf::telemetry::metric_impl<caf::telemetry::histogram<double> >::metric_impl<caf::dictionary<caf::config_value> const*&, std::vector<double, std::allocator<double> >&>(std::vector<caf::telemetry::label, std::allocator<caf::telemetry::label> >, caf::dictionary<caf::config_value> const*&, std::vector<double, std::allocator<double> >&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F62A73: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(caf::span<caf::telemetry::label_view const>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5CFE7: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >::get_or_add(std::initializer_list<caf::telemetry::label_view>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F57437: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919== 
+==72919== 160 bytes in 4 blocks are still reachable in loss record 676 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A2509F: std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > > > std::thread::_S_make_state<std::thread::_Invoker<std::tuple<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted> > > >(char const*&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A231F7: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20F0B: std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA97: caf::scheduler::worker<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D057: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 168 bytes in 1 blocks are still reachable in loss record 677 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B49207: caf::intrusive_ptr<caf::detail::local_group_module> caf::make_counted<caf::detail::local_group_module, caf::actor_system&>(caf::actor_system&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B4883F: caf::group_manager::init(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3517: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 168 bytes in 1 blocks are still reachable in loss record 678 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D245F3: nc4_nc4f_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 176 bytes in 1 blocks are still reachable in loss record 679 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F5807B: caf::intrusive_ptr<caf::detail::remote_group_module> caf::make_counted<caf::detail::remote_group_module, caf::io::middleman*>(caf::io::middleman*&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F425CF: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 176 bytes in 2 blocks are still reachable in loss record 680 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 176 bytes in 2 blocks are still reachable in loss record 681 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 176 bytes in 2 blocks are still reachable in loss record 682 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 176 bytes in 2 blocks are still reachable in loss record 683 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 176 bytes in 2 blocks are still reachable in loss record 684 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 176 bytes in 2 blocks are still reachable in loss record 685 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 192 bytes in 1 blocks are still reachable in loss record 686 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F158CF: caf::forward_atom<caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition> > caf::make_counted<caf::detail::default_behavior_impl<std::tuple<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>, caf::detail::dummy_timeout_definition>, caf::error&, {lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}&>(caf::error&, {lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F14773: auto caf::detail::make_behavior_t::operator()<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}) const (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F14A1B: void caf::behavior::assign<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F13A67: caf::behavior::behavior<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}>(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::io::basp_broker::make_behavior()::{lambda(caf::forward_atom, caf::intrusive_ptr<caf::actor_control_block>&, std::vector<caf::actor_control_block, std::allocator<caf::actor_control_block> > const&, caf::intrusive_ptr<caf::actor_control_block>, caf::message_id, caf::message const&)#3}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::monitor_atom, caf::actor_control_block const&)#5}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::node_id const&, caf::node_id, caf::actor_addr const&)#6}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::demonitor_atom, caf::node_id, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5})#7}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&)#8}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_closed_msg const&)#9}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::delete_atom, caf::io::connection_handle)#10}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::acceptor_closed_msg const&)#11}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::publish_atom, caf::forward_atom<caf::io::doorman>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}>, std::allocator<caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::io::accept_handle)#12}> >&)#13}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::connection_handle, caf::forward_atom<caf::io::scribe>&, unsigned short, caf::io::basp_broker::make_behavior()::{lambda(caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_data_msg&)#2}, caf::node_id const&, unsigned long, caf::message const)#4}, std::set)#14}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::connect_atom, std::char_traits<char>, unsigned short)#15}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long, caf::error&)#17}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::unpublish_atom, {lambda(caf::monitor_atom, caf::actor_control_block const&)#5}, unsigned short)#18}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::close_atom, unsigned short)#19}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::get_atom, caf::node_id)#20}&&, caf::io::basp_broker::make_behavior()::{lambda(caf::tick_atom, long, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, caf::io::basp_broker::make_behavior()::{lambda(caf::io::new_connection_msg const&, caf::node_id, unsigned long)#16})#21}&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F11897: caf::io::basp_broker::make_behavior() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F3AC5F: caf::io::broker::initialize() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4ED8E97: caf::io::abstract_broker::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F11A03: caf::io::basp_broker::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FCF2DB: caf::io::network::default_multiplexer::resume(caf::intrusive_ptr<caf::resumable>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 192 bytes in 1 blocks are still reachable in loss record 687 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x531DAC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:178)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 192 bytes in 1 blocks are still reachable in loss record 688 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5332C93: initHRU (init_hru_actor.f90:295)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 192 bytes in 3 blocks are still reachable in loss record 689 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4BFC08F: caf::detail::double_ended_queue<caf::resumable>::double_ended_queue() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4BFBB97: caf::policy::work_stealing::worker_data::worker_data(caf::policy::work_stealing::worker_data const&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20A4B: caf::scheduler::worker<caf::policy::work_stealing>::worker(unsigned long, caf::scheduler::coordinator<caf::policy::work_stealing>*, caf::policy::work_stealing::worker_data const&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1E7E3: std::_MakeUniq<caf::scheduler::worker<caf::policy::work_stealing> >::__single_object std::make_unique<caf::scheduler::worker<caf::policy::work_stealing>, unsigned long&, caf::scheduler::coordinator<caf::policy::work_stealing>*, caf::policy::work_stealing::worker_data&, unsigned long&>(unsigned long&, caf::scheduler::coordinator<caf::policy::work_stealing>*&&, caf::policy::work_stealing::worker_data&, unsigned long&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1CFDB: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 192 bytes in 3 blocks are still reachable in loss record 690 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513742B: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:498)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5332C93: initHRU (init_hru_actor.f90:295)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 199 bytes in 9 blocks are still reachable in loss record 691 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7DE98B7: ??? (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x7DEAE13: asn1_array2tree (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x7510487: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 240 bytes in 1 blocks are still reachable in loss record 692 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C83EB: defineGlobalData (summaActors_globalData.f90:166)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 240 bytes in 2 blocks are still reachable in loss record 693 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A5F1C7: __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A5D3AB: std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A5AE53: std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::_M_get_node() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A57B9B: std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::_M_create_node<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A539AB: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::_M_emplace_unique<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A5062B: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, bool> std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> > >::emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::config_value>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A4ADCF: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, bool> caf::dictionary<caf::config_value>::emplace<std::basic_string_view<char, std::char_traits<char> >&, caf::config_value>(std::basic_string_view<char, std::char_traits<char> >&, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A47B87: std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, caf::config_value> >, bool> caf::dictionary<caf::config_value>::insert<caf::config_value>(std::basic_string_view<char, std::char_traits<char> >, caf::config_value&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A435BB: caf::dictionary<caf::config_value>::operator[](std::basic_string_view<char, std::char_traits<char> >) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E443: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const::{lambda(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)#1}::operator()(caf::config_option const&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7E98B: caf::config_option_set::parse(caf::dictionary<caf::config_value>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 240 bytes in 15 blocks are still reachable in loss record 694 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30BFB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 240 bytes in 15 blocks are still reachable in loss record 695 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D254C7: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 240 bytes in 15 blocks are still reachable in loss record 696 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30C73: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 240 bytes in 30 blocks are still reachable in loss record 697 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2AEF3: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F4EF: __def_output_module_MOD_put_attrib (def_output.f90:311)
+==72919==    by 0x5242483: def_output (def_output.f90:186)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 250 bytes in 250 blocks are still reachable in loss record 698 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5126D47: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:207)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 699 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 700 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 701 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 702 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 703 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 704 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 256 bytes in 1 blocks are still reachable in loss record 705 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x14D943: __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::allocate(unsigned long, void const*) (new_allocator.h:114)
+==72919==    by 0x143C57: std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::allocate(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, unsigned long) (alloc_traits.h:443)
+==72919==    by 0x13EBF3: std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_allocate(unsigned long) (stl_vector.h:343)
+==72919==    by 0x1CB75B: void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (vector.tcc:440)
+==72919==    by 0x1CB327: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (stl_vector.h:1195)
+==72919==    by 0x1CA827: TimingInfo::addTimePoint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (timing_info.cpp:35)
+==72919==    by 0x16A16B: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:21)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 264 bytes in 1 blocks are still reachable in loss record 706 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A04233: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::counter<long> > >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A000A7: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >* caf::telemetry::metric_registry::counter_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC12B: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2587: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 264 bytes in 1 blocks are still reachable in loss record 707 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A04233: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::counter<long> > >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A000A7: caf::telemetry::metric_family_impl<caf::telemetry::counter<long> >* caf::telemetry::metric_registry::counter_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC12B: caf::telemetry::counter<long>* caf::telemetry::metric_registry::counter_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F25FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 264 bytes in 1 blocks are still reachable in loss record 708 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A0479F: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::int_gauge> >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A003B3: caf::telemetry::metric_family_impl<caf::detail::gauge_oracle<long>::type>* caf::telemetry::metric_registry::gauge_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC1E7: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2677: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 264 bytes in 1 blocks are still reachable in loss record 709 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A0479F: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::int_gauge> >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::int_gauge>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A003B3: caf::telemetry::metric_family_impl<caf::detail::gauge_oracle<long>::type>* caf::telemetry::metric_registry::gauge_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FC1E7: caf::detail::gauge_oracle<long>::type* caf::telemetry::metric_registry::gauge_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F26FF: caf::(anonymous namespace)::make_base_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F2DAF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 264 bytes in 3 blocks are still reachable in loss record 710 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 264 bytes in 3 blocks are still reachable in loss record 711 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 264 bytes in 3 blocks are still reachable in loss record 712 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 266 bytes in 30 blocks are still reachable in loss record 713 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F4EF: __def_output_module_MOD_put_attrib (def_output.f90:311)
+==72919==    by 0x5242483: def_output (def_output.f90:186)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 268 bytes in 6 blocks are still reachable in loss record 714 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 272 bytes in 15 blocks are still reachable in loss record 715 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2426B: nc4_var_set_ndims (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 272 bytes in 15 blocks are still reachable in loss record 716 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D30DEF: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 276 bytes in 69 blocks are still reachable in loss record 717 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512FC87: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:617)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 276 bytes in 69 blocks are still reachable in loss record 718 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5132AA7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:554)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 278 bytes in 15 blocks are still reachable in loss record 719 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D241C3: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 278 bytes in 15 blocks are still reachable in loss record 720 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24203: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 280 bytes in 1 blocks are still reachable in loss record 721 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F61BB3: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> > >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >, caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, std::vector<long, std::allocator<long> > >(caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&, std::vector<long, std::allocator<long> >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5C857: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4173B: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 280 bytes in 1 blocks are still reachable in loss record 722 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A05297: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> > >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >, caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, std::vector<double, std::allocator<double> > >(caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&, std::vector<double, std::allocator<double> >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A009DF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F417C3: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 280 bytes in 1 blocks are still reachable in loss record 723 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F61BB3: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> > >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >, caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, std::vector<long, std::allocator<long> > >(caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&, std::vector<long, std::allocator<long> >&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5C857: caf::telemetry::metric_family_impl<caf::telemetry::histogram<long> >* caf::telemetry::metric_registry::histogram_family<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F572E3: caf::telemetry::histogram<long>* caf::telemetry::metric_registry::histogram_singleton<long>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<long>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4185F: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 280 bytes in 1 blocks are still reachable in loss record 724 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A05297: std::_MakeUniq<caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> > >::__single_object std::make_unique<caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >, caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool&, std::vector<double, std::allocator<double> > >(caf::dictionary<caf::config_value> const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, bool&, std::vector<double, std::allocator<double> >&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A009DF: caf::telemetry::metric_family_impl<caf::telemetry::histogram<double> >* caf::telemetry::metric_registry::histogram_family<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::span<std::basic_string_view<char, std::char_traits<char> > const>, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4F5741B: caf::telemetry::histogram<double>* caf::telemetry::metric_registry::histogram_singleton<double>(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, caf::telemetry::metric_registry::span_type<double>::type, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, bool) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F418FB: caf::io::(anonymous namespace)::make_metrics(caf::telemetry::metric_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4260B: caf::io::middleman::middleman(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F456EB: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 725 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24533: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 726 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24543: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 727 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24553: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 728 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24563: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 729 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24573: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 730 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 731 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 732 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 733 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 734 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 1 blocks are still reachable in loss record 735 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 296 bytes in 37 blocks are still reachable in loss record 736 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 300 bytes in 1 blocks are still reachable in loss record 737 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C805B: defineGlobalData (summaActors_globalData.f90:163)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 320 bytes in 5 blocks are still reachable in loss record 738 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4C1A5CF: __gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false> >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C19CB3: std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false> > >::allocate(std::allocator<std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false> >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1905B: std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false>* std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false> > >::_M_allocate_node<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C18627: std::pair<std::__detail::_Node_iterator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false, false>, bool> std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_emplace<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(std::integral_constant<bool, true>, unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C17B4F: std::pair<std::__detail::_Node_iterator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false, false>, bool> std::_Hashtable<unsigned long, std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> >, std::__detail::_Select1st, std::equal_to<unsigned long>, std::hash<unsigned long>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::emplace<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C16BEB: std::pair<std::__detail::_Node_iterator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>, false, false>, bool> std::unordered_map<unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<unsigned long const, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data> > >::emplace<unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data>(unsigned long&, caf::scheduler::(anonymous namespace)::printer_actor::act()::actor_data&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C15C57: caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(unsigned long, bool)#1}::operator()(unsigned long, bool) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C15E97: caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}::operator()(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B1E3: decltype(auto) caf::detail::apply_args<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, 0l, 1l, 2l, caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B233: decltype(auto) caf::detail::apply_args<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, , caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&, caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B2DF: bool caf::detail::default_behavior_impl<std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>)::{lambda(auto:1&)#1}::operator()<{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}>(auto, caf::detail::invoke_result_visitor&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 335 bytes in 30 blocks are still reachable in loss record 739 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x697C5FF: strdup (strdup.c:42)
+==72919==    by 0x6D2443F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F4EF: __def_output_module_MOD_put_attrib (def_output.f90:311)
+==72919==    by 0x5242483: def_output (def_output.f90:186)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919== 
+==72919== 335 bytes in 30 blocks are still reachable in loss record 740 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2A8B: NC_hashmapadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D251EB: ncindexadd (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2446F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F4EF: __def_output_module_MOD_put_attrib (def_output.f90:311)
+==72919==    by 0x5242483: def_output (def_output.f90:186)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 336 bytes in 1 blocks are still reachable in loss record 741 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F42477: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3137: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 336 bytes in 2 blocks are still reachable in loss record 742 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4EE8A9B: void caf::detail::worker_hub<caf::io::basp::worker>::add_new_worker<caf::io::basp::message_queue&, caf::proxy_registry&>(caf::io::basp::message_queue&, caf::proxy_registry&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4EE2FF7: caf::io::basp::instance::instance(caf::io::abstract_broker*, caf::io::basp::instance::callee&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F0F1C7: caf::io::basp_broker::basp_broker(caf::actor_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F7106B: caf::actor_storage<caf::io::basp_broker>::actor_storage<caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F66E0B: caf::actor caf::make_actor<caf::io::basp_broker, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5FA1B: caf::infer_handle_from_class<caf::io::basp_broker, std::is_base_of<caf::abstract_actor, caf::io::basp_broker>::value>::type caf::actor_system::spawn_impl<caf::io::basp_broker, (caf::spawn_options)8>(caf::actor_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5AB33: caf::actor caf::io::middleman::named_broker<caf::io::basp_broker>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44AFB: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 348 bytes in 1 blocks are still reachable in loss record 743 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C818B: defineGlobalData (summaActors_globalData.f90:164)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 356 bytes in 1 blocks are still reachable in loss record 744 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C7837: defineGlobalData (summaActors_globalData.f90:143)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 356 bytes in 1 blocks are still reachable in loss record 745 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5154667: __childstruc_module_MOD_childstruc (childStruc.f90:79)
+==72919==    by 0x54C82BB: defineGlobalData (summaActors_globalData.f90:165)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 360 bytes in 15 blocks are still reachable in loss record 746 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1A4F: nclistnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254D3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 360 bytes in 15 blocks are still reachable in loss record 747 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF2907: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 376 bytes in 5 blocks are still reachable in loss record 748 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x682EDF3: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x68306D7: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4C15EB3: caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}::operator()(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B1E3: decltype(auto) caf::detail::apply_args<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, 0l, 1l, 2l, caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B233: decltype(auto) caf::detail::apply_args<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, , caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}&, caf::typed_message_view<caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B2DF: bool caf::detail::default_behavior_impl<std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>)::{lambda(auto:1&)#1}::operator()<{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}>(auto, caf::detail::invoke_result_visitor&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1BBC3: bool caf::detail::default_behavior_impl<std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1B15F: caf::detail::default_behavior_impl<std::tuple<caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::add_atom, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)#3}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::flush_atom, unsigned long)#4}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::redirect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)#6}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::delete_atom, unsigned long)#5}, int)#7}, caf::scheduler::(anonymous namespace)::printer_actor::act()::{lambda(caf::exit_msg&)#8}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A737C3: caf::blocking_actor::mailbox_visitor::operator()(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A73983: caf::blocking_actor::mailbox_visitor::operator()(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 400 bytes in 1 blocks are still reachable in loss record 749 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51307A7: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:621)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 400 bytes in 1 blocks are still reachable in loss record 750 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51335C7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:558)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 400 bytes in 1 blocks are still reachable in loss record 751 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6B6A2A3: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6C12297: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x5294A9F: __indexstate_module_MOD_indxsubset (indexState.f90:554)
+==72919==    by 0x52986D7: __indexstate_module_MOD_indexsplit (indexState.f90:397)
+==72919==    by 0x53704DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:654)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 416 bytes in 1 blocks are possibly lost in loss record 752 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4010C0F: allocate_dtv (dl-tls.c:286)
+==72919==    by 0x401149F: _dl_allocate_tls (dl-tls.c:532)
+==72919==    by 0x6B250A3: allocate_stack (allocatestack.c:622)
+==72919==    by 0x6B250A3: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
+==72919==    by 0x67C32C3: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4B2C64B: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C48F: std::thread caf::actor_system::launch_thread<caf::detail::private_thread_pool::start()::{lambda()#1}>(char const*, caf::detail::private_thread_pool::start()::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2BEFB: caf::detail::private_thread_pool::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F35BF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 416 bytes in 1 blocks are possibly lost in loss record 753 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4010C0F: allocate_dtv (dl-tls.c:286)
+==72919==    by 0x401149F: _dl_allocate_tls (dl-tls.c:532)
+==72919==    by 0x6B250A3: allocate_stack (allocatestack.c:622)
+==72919==    by 0x6B250A3: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
+==72919==    by 0x67C32C3: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4B348BB: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B34407: std::thread caf::actor_system::launch_thread<caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}>(char const*, caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B341EF: caf::detail::thread_safe_actor_clock::start_dispatch_loop(caf::actor_system&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D07F: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 416 bytes in 1 blocks are possibly lost in loss record 754 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4010C0F: allocate_dtv (dl-tls.c:286)
+==72919==    by 0x401149F: _dl_allocate_tls (dl-tls.c:532)
+==72919==    by 0x6B250A3: allocate_stack (allocatestack.c:622)
+==72919==    by 0x6B250A3: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
+==72919==    by 0x67C32C3: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4B2B157: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AF9B: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE93: caf::detail::private_thread::launch(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C19B: caf::detail::private_thread_pool::acquire() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F436B: caf::actor_system::acquire_private_thread() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A72AFB: caf::blocking_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C18023: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn_impl<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 416 bytes in 1 blocks are possibly lost in loss record 755 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4010C0F: allocate_dtv (dl-tls.c:286)
+==72919==    by 0x401149F: _dl_allocate_tls (dl-tls.c:532)
+==72919==    by 0x6B250A3: allocate_stack (allocatestack.c:622)
+==72919==    by 0x6B250A3: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
+==72919==    by 0x67C32C3: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4F4810B: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4625B: std::thread caf::actor_system::launch_thread<caf::io::middleman::start()::{lambda()#1}>(char const*, caf::io::middleman::start()::{lambda()#1}) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44A97: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 416 bytes in 1 blocks are possibly lost in loss record 756 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4010C0F: allocate_dtv (dl-tls.c:286)
+==72919==    by 0x401149F: _dl_allocate_tls (dl-tls.c:532)
+==72919==    by 0x6B250A3: allocate_stack (allocatestack.c:622)
+==72919==    by 0x6B250A3: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
+==72919==    by 0x67C32C3: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4B2B157: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AF9B: std::thread caf::actor_system::launch_thread<caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}>(char const*, caf::detail::private_thread::launch(caf::actor_system*)::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2AE93: caf::detail::private_thread::launch(caf::actor_system*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B2C19B: caf::detail::private_thread_pool::acquire() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F436B: caf::actor_system::acquire_private_thread() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0849B: caf::scheduled_actor::launch(caf::execution_unit*, bool, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4FAC1AB: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn_impl<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor_config&, caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919== 
+==72919== 424 bytes in 1 blocks are still reachable in loss record 757 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51182EB: __access_forcing_module_MOD_access_forcingfile (access_forcing.f90:69)
+==72919==    by 0x51D554F: FileAccessActor_ReadForcing (cppwrap_fileAccess.f90:203)
+==72919==    by 0x1304B3: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:76)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 424 bytes in 1 blocks are still reachable in loss record 758 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6E05D5F: N_VNewEmpty (in /code/sundials/instdir/lib/libsundials_nvecmanyvector.so.5.8.0)
+==72919==    by 0x6E4434F: N_VNewEmpty_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x6E447AF: N_VMake_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x66CEB8B: _wrap_FN_VMake_Serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x66CEA5F: __fnvector_serial_mod_MOD_fn_vmake_serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x54ABD97: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:314)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919== 
+==72919== 424 bytes in 1 blocks are still reachable in loss record 759 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6E05D5F: N_VNewEmpty (in /code/sundials/instdir/lib/libsundials_nvecmanyvector.so.5.8.0)
+==72919==    by 0x6E4434F: N_VNewEmpty_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x6E447AF: N_VMake_Serial (in /code/sundials/instdir/lib/libsundials_ida.so.5.8.0)
+==72919==    by 0x66CEB8B: _wrap_FN_VMake_Serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x66CEA5F: __fnvector_serial_mod_MOD_fn_vmake_serial (in /code/sundials/instdir/lib/libsundials_fida_mod.so.5.8.0)
+==72919==    by 0x54ABF9F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:317)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919== 
+==72919== 448 bytes in 1 blocks are still reachable in loss record 760 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512ABE7: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:72)
+==72919==    by 0x5316BBB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:149)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 472 bytes in 1 blocks are still reachable in loss record 761 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x526A8F7: __ffile_info_module_MOD_ffile_info (ffile_info.f90:166)
+==72919==    by 0x51D6C0B: ffile_info_C (cppwrap_fileAccess.f90:39)
+==72919==    by 0x1316F3: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:198)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 500 bytes in 500 blocks are still reachable in loss record 762 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x511FC0F: __alloc_file_access_MOD_allocatedat_int (alloc_file_access.f90:299)
+==72919==    by 0x512EF2F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:163)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 512 bytes in 1 blocks are still reachable in loss record 763 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512C0A7: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:95)
+==72919==    by 0x5317783: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:153)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 512 bytes in 2 blocks are still reachable in loss record 764 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 512 bytes in 2 blocks are still reachable in loss record 765 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 528 bytes in 6 blocks are still reachable in loss record 766 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 528 bytes in 6 blocks are still reachable in loss record 767 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 528 bytes in 6 blocks are still reachable in loss record 768 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 769 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 770 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 771 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x51A10AB: __coupled_em_module_MOD_coupled_em (coupled_em.f90:338)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 772 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 773 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 774 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 775 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 552 bytes in 69 blocks are still reachable in loss record 776 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 568 bytes in 1 blocks are still reachable in loss record 777 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4C18C03: caf::actor caf::make_actor<caf::scheduler::(anonymous namespace)::printer_actor, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C17FC7: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn_impl<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C1750B: caf::infer_handle_from_class<caf::scheduler::(anonymous namespace)::printer_actor, std::is_base_of<caf::abstract_actor, caf::scheduler::(anonymous namespace)::printer_actor>::value>::type caf::actor_system::spawn<caf::scheduler::(anonymous namespace)::printer_actor, (caf::spawn_options)12>() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C163FF: caf::scheduler::abstract_coordinator::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D087: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 568 bytes in 1 blocks are still reachable in loss record 778 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4C2935B: caf::actor caf::make_actor<caf::(anonymous namespace)::impl, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C291AB: caf::infer_handle_from_class<caf::(anonymous namespace)::impl, std::is_base_of<caf::abstract_actor, caf::(anonymous namespace)::impl>::value>::type caf::actor_system::spawn_impl<caf::(anonymous namespace)::impl, (caf::spawn_options)0>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C28DD7: caf::scoped_actor::scoped_actor(caf::actor_system&, bool) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x1875BF: caf_main(caf::actor_system&, config const&) (main.cpp:85)
+==72919==    by 0x18A43B: auto caf::exec_main_helper<caf::detail::type_list<caf::actor_system&, config const&> >::operator()<void (*)(caf::actor_system&, config const&)>(void (*&)(caf::actor_system&, config const&), caf::actor_system&, config const&) (exec_main.hpp:34)
+==72919==    by 0x18A5C3: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:103)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 592 bytes in 2 blocks are still reachable in loss record 779 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 592 bytes in 2 blocks are still reachable in loss record 780 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 600 bytes in 1 blocks are still reachable in loss record 781 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C7F2B: defineGlobalData (summaActors_globalData.f90:162)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 600 bytes in 1 blocks are still reachable in loss record 782 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C851B: defineGlobalData (summaActors_globalData.f90:167)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 704 bytes in 1 blocks are still reachable in loss record 783 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x532290B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:199)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 704 bytes in 1 blocks are still reachable in loss record 784 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5332977: initHRU (init_hru_actor.f90:294)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 704 bytes in 11 blocks are still reachable in loss record 785 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513742B: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:498)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5332977: initHRU (init_hru_actor.f90:294)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 750 bytes in 750 blocks are still reachable in loss record 786 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5126D47: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:207)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 768 bytes in 3 blocks are still reachable in loss record 787 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 794 bytes in 15 blocks are still reachable in loss record 788 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2B003: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 789 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53311A3: initHRU (init_hru_actor.f90:258)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 790 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 791 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5369527: __opsplittin_module_MOD_opsplittin (opSplittin.f90:258)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 792 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x536959F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:292)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 793 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5369603: __opsplittin_module_MOD_opsplittin (opSplittin.f90:293)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 794 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DD93: __opsplittin_module_MOD_opsplittin (opSplittin.f90:455)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 795 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 796 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6B6A2A3: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6C12297: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x5294A9F: __indexstate_module_MOD_indxsubset (indexState.f90:554)
+==72919==    by 0x5298337: __indexstate_module_MOD_indexsplit (indexState.f90:395)
+==72919==    by 0x53704DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:654)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 797 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6B6A2A3: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6C12297: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x5294A9F: __indexstate_module_MOD_indxsubset (indexState.f90:554)
+==72919==    by 0x529816F: __indexstate_module_MOD_indexsplit (indexState.f90:394)
+==72919==    by 0x53704DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:654)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 798 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6B6A2A3: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6C12297: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x5294A9F: __indexstate_module_MOD_indxsubset (indexState.f90:554)
+==72919==    by 0x5297FA7: __indexstate_module_MOD_indexsplit (indexState.f90:393)
+==72919==    by 0x53704DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:654)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 799 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 800 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x55514DF: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:280)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 801 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 802 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 803 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F6563: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:426)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 804 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A7767: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:220)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 805 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AAA3B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:295)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 806 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AAB83: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:296)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 807 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AACCB: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:297)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 808 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AAE13: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:298)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 809 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AAF5B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:299)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 810 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB0A3: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:300)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 811 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB1EB: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:301)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 812 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB333: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:302)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 813 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB47B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:303)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 814 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB5C3: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:304)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 815 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB70B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:305)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 816 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB853: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:306)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 800 bytes in 1 blocks are still reachable in loss record 817 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AB99B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:307)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 808 bytes in 1 blocks are still reachable in loss record 818 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53311A3: initHRU (init_hru_actor.f90:258)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 808 bytes in 1 blocks are still reachable in loss record 819 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 808 bytes in 1 blocks are still reachable in loss record 820 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DD93: __opsplittin_module_MOD_opsplittin (opSplittin.f90:455)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 808 bytes in 1 blocks are still reachable in loss record 821 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 808 bytes in 2 blocks are still reachable in loss record 822 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5130D63: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:623)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 808 bytes in 2 blocks are still reachable in loss record 823 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5133B83: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:560)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 816 bytes in 1 blocks are still reachable in loss record 824 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49F33FB: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 832 bytes in 1 blocks are still reachable in loss record 825 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x5323AB7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:206)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 832 bytes in 1 blocks are still reachable in loss record 826 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x53313FB: initHRU (init_hru_actor.f90:262)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 832 bytes in 1 blocks are still reachable in loss record 827 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AA25F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:286)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 888 bytes in 3 blocks are still reachable in loss record 828 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 900 bytes in 1 blocks are still reachable in loss record 829 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C83EB: defineGlobalData (summaActors_globalData.f90:166)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 928 bytes in 1 blocks are still reachable in loss record 830 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49F5EC3: caf::actor caf::make_actor<caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F550B: caf::infer_handle_from_class<caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>, (caf::spawn_options)72>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F4E57: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F4603: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::spawn_serv_state, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F352F: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,016 bytes in 1 blocks are still reachable in loss record 831 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4FAC2C7: caf::typed_actor<caf::result<unsigned short> (caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<unsigned short> (caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<caf::node_id, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > (caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short), caf::result<void> (caf::unpublish_atom, caf::actor_addr, unsigned short), caf::result<void> (caf::close_atom, unsigned short), caf::result<caf::intrusive_ptr<caf::actor_control_block> > (caf::spawn_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::message, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >), caf::result<caf::actor> (caf::get_atom, caf::group_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), caf::result<caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> (caf::get_atom, caf::node_id)> caf::make_actor<caf::io::middleman_actor_impl, caf::typed_actor<caf::result<unsigned short> (caf::publish_atom, unsigned short, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<unsigned short> (caf::open_atom, unsigned short, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool), caf::result<caf::node_id, caf::intrusive_ptr<caf::actor_control_block>, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > (caf::connect_atom, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short), caf::result<void> (caf::unpublish_atom, caf::actor_addr, unsigned short), caf::result<void> (caf::close_atom, unsigned short), caf::result<caf::intrusive_ptr<caf::actor_control_block> > (caf::spawn_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::message, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >), caf::result<caf::actor> (caf::get_atom, caf::group_atom, caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), caf::result<caf::node_id, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned short> (caf::get_atom, caf::node_id)>, caf::actor_config&, caf::actor>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&, caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FAC14F: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn_impl<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor_config&, caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FABE73: caf::infer_handle_from_class<caf::io::middleman_actor_impl, std::is_base_of<caf::abstract_actor, caf::io::middleman_actor_impl>::value>::type caf::actor_system::spawn<caf::io::middleman_actor_impl, (caf::spawn_options)12, caf::actor>(caf::actor&&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FABC97: caf::io::make_middleman_actor[abi:cxx11](caf::actor_system&, caf::actor) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44B3B: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,024 bytes in 1 blocks are still reachable in loss record 832 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4FD8AEB: __gnu_cxx::new_allocator<epoll_event>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FD7B13: std::allocator_traits<std::allocator<epoll_event> >::allocate(std::allocator<epoll_event>&, unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FD6647: std::_Vector_base<epoll_event, std::allocator<epoll_event> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FD461F: std::vector<epoll_event, std::allocator<epoll_event> >::_M_default_append(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FD155F: std::vector<epoll_event, std::allocator<epoll_event> >::resize(unsigned long) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4FCE56B: caf::io::network::default_multiplexer::default_multiplexer(caf::actor_system*) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F4570B: caf::io::(anonymous namespace)::mm_impl<caf::io::network::default_multiplexer>::mm_impl(caf::actor_system&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F42487: caf::io::middleman::make(caf::actor_system&, caf::detail::type_list<>) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x18CE43: caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}::operator()(caf::actor_system&) const (actor_system_config.hpp:139)
+==72919==    by 0x192AE7: std::_Function_handler<caf::actor_system::module* (caf::actor_system&), caf::actor_system_config& caf::actor_system_config::load<caf::io::middleman>()::{lambda(caf::actor_system&)#1}>::_M_invoke(std::_Any_data const&, caf::actor_system&) (std_function.h:285)
+==72919==    by 0x49FCB03: std::function<caf::actor_system::module* (caf::actor_system&)>::operator()(caf::actor_system&) const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,024 bytes in 1 blocks are still reachable in loss record 833 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B3847F: __gnu_cxx::new_allocator<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> > >::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B37ECB: std::allocator_traits<std::allocator<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> > > >::allocate(std::allocator<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> > >&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B37603: std::_Vector_base<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> >, std::allocator<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> > > >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B36C3F: std::vector<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> >, std::allocator<std::unique_ptr<caf::detail::thread_safe_actor_clock::schedule_entry, std::default_delete<caf::detail::thread_safe_actor_clock::schedule_entry> > > >::reserve(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B33DDB: caf::detail::thread_safe_actor_clock::thread_safe_actor_clock() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49FD0C7: caf::scheduler::coordinator<caf::policy::work_stealing>::coordinator(caf::actor_system&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F340B: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,024 bytes in 1 blocks are still reachable in loss record 834 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF21FB: ncbytessetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CF243F: ncbytesappendn (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CF24CF: ncbytescat (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2935F: NC4_provenance_init (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 1,032 bytes in 1 blocks are still reachable in loss record 835 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49F6127: caf::actor caf::make_actor<caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F5727: caf::infer_handle_from_class<caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>, (caf::spawn_options)72>(caf::actor_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F4F13: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F46BB: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>::type>::type caf::actor_system::spawn<(caf::spawn_options)72, caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)>(caf::behavior (*)(caf::stateful_actor<caf::(anonymous namespace)::kvstate, caf::event_based_actor>*)) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F3577: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,056 bytes in 1 blocks are still reachable in loss record 836 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x511A603: __access_forcing_module_MOD_access_forcingfile (access_forcing.f90:103)
+==72919==    by 0x51D554F: FileAccessActor_ReadForcing (cppwrap_fileAccess.f90:203)
+==72919==    by 0x1304B3: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:76)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,152 bytes in 1 blocks are still reachable in loss record 837 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5119B37: __access_forcing_module_MOD_access_forcingfile (access_forcing.f90:90)
+==72919==    by 0x51D554F: FileAccessActor_ReadForcing (cppwrap_fileAccess.f90:203)
+==72919==    by 0x1304B3: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:76)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,160 bytes in 1 blocks are still reachable in loss record 838 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x17D577: caf::actor caf::make_actor<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x17C217: caf::infer_handle_from_class<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::file_access_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x17A95F: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int&, int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int&, int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (actor_system.hpp:383)
+==72919==    by 0x179353: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int&, int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int&, int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (local_actor.hpp:134)
+==72919==    by 0x1758B7: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:94)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,168 bytes in 1 blocks are still reachable in loss record 839 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x18F967: caf::actor caf::make_actor<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x18CCF7: caf::infer_handle_from_class<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x18B7E7: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int const&, int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::scoped_actor&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int const&, int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::scoped_actor&) (actor_system.hpp:383)
+==72919==    by 0x18A333: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)>::type>::type caf::actor_system::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int const&, int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::scoped_actor&>(caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), int const&, int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, caf::scoped_actor&) (actor_system.hpp:407)
+==72919==    by 0x1878A7: caf_main(caf::actor_system&, config const&) (main.cpp:117)
+==72919==    by 0x18A43B: auto caf::exec_main_helper<caf::detail::type_list<caf::actor_system&, config const&> >::operator()<void (*)(caf::actor_system&, config const&)>(void (*&)(caf::actor_system&, config const&), caf::actor_system&, config const&) (exec_main.hpp:34)
+==72919==    by 0x18A5C3: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:103)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,176 bytes in 147 blocks are still reachable in loss record 840 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512389F: __alloc_file_access_MOD_allocatedat_rkind (alloc_file_access.f90:250)
+==72919==    by 0x512F203: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:165)
+==72919==    by 0x531B4F3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:168)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,184 bytes in 148 blocks are still reachable in loss record 841 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51358E7: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:488)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331083: initHRU (init_hru_actor.f90:256)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,200 bytes in 3 blocks are still reachable in loss record 842 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51332D7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:557)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x5331113: initHRU (init_hru_actor.f90:257)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,200 bytes in 3 blocks are still reachable in loss record 843 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6B6A2A3: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x6C12297: ??? (in /usr/lib/aarch64-linux-gnu/libgfortran.so.5.0.0)
+==72919==    by 0x5294A9F: __indexstate_module_MOD_indxsubset (indexState.f90:554)
+==72919==    by 0x529AE63: __indexstate_module_MOD_indexsplit (indexState.f90:468)
+==72919==    by 0x53704DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:654)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 1,208 bytes in 1 blocks are still reachable in loss record 844 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x17DFE7: caf::actor caf::make_actor<caf::stateful_actor<caf::gru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x17CAAB: caf::infer_handle_from_class<caf::stateful_actor<caf::gru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::gru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::gru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x17B5CF: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (actor_system.hpp:383)
+==72919==    by 0x17A11B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*)(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (local_actor.hpp:134)
+==72919==    by 0x175EEB: caf::initalizeGRU(caf::stateful_actor<caf::job_state, caf::event_based_actor>*) (job_actor.cpp:266)
+==72919==    by 0x173F9B: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (job_actor.cpp:103)
+==72919==    by 0x177A37: decltype(auto) caf::detail::apply_args<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x177A87: decltype(auto) caf::detail::apply_args<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919==    by 0x177B33: bool caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>)::{lambda(auto:1&)#1}::operator()<{lambda(init_hru)#1}>(auto, caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl) const (behavior_impl.hpp:123)
+==72919==    by 0x178863: bool caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) (behavior_impl.hpp:133)
+==72919==    by 0x1779D7: caf::detail::default_behavior_impl<std::tuple<caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(init_hru)#1}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_hru)#2}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#3}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(run_failure, caf::actor, int, int)#4}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_file_access_actor_init)#5}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(done_init_gru)#6}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_done, double, double)#7}, caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)::{lambda(file_access_actor_err, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)#8}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 1,212 bytes in 3 blocks are still reachable in loss record 845 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5131037: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:624)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,212 bytes in 3 blocks are still reachable in loss record 846 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5133E57: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:561)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,272 bytes in 1 blocks are still reachable in loss record 847 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512C827: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:106)
+==72919==    by 0x531C0AF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:171)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,272 bytes in 1 blocks are still reachable in loss record 848 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C48F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:169)
+==72919==    by 0x5331A0F: initHRU (init_hru_actor.f90:277)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,288 bytes in 1 blocks are still reachable in loss record 849 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x52A2323: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:45)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,320 bytes in 15 blocks are still reachable in loss record 850 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2478F: nc4_type_new (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30BDB: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919== 
+==72919== 1,320 bytes in 15 blocks are still reachable in loss record 851 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E707: __def_output_module_MOD_def_variab (def_output.f90:433)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 1,320 bytes in 15 blocks are still reachable in loss record 852 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523EF9B: __def_output_module_MOD_def_variab (def_output.f90:461)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 1,344 bytes in 1 blocks are still reachable in loss record 853 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x1B9263: caf::actor caf::make_actor<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x1B8D8B: caf::infer_handle_from_class<caf::stateful_actor<caf::job_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::job_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::job_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x1B8997: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (actor_system.hpp:383)
+==72919==    by 0x1B8317: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (local_actor.hpp:134)
+==72919==    by 0x1B715F: caf::spawnJob(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*) (summa_actor.cpp:107)
+==72919==    by 0x1B6E57: caf::summa_actor(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (summa_actor.cpp:38)
+==72919==    by 0x1B136B: decltype ({parm#1}((forward<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1B0D63: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::summa_actor_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,344 bytes in 1 blocks are still reachable in loss record 854 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,344 bytes in 1 blocks are still reachable in loss record 855 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x53311A3: initHRU (init_hru_actor.f90:258)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,344 bytes in 1 blocks are still reachable in loss record 856 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513A917: __allocspace4chm_module_MOD_resizedata (allocspaceActors.f90:237)
+==72919==    by 0x51A07D3: __coupled_em_module_MOD_coupled_em (coupled_em.f90:311)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 1,344 bytes in 1 blocks are still reachable in loss record 857 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x536DD93: __opsplittin_module_MOD_opsplittin (opSplittin.f90:455)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 1,344 bytes in 1 blocks are still reachable in loss record 858 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A88A7: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:264)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,376 bytes in 1 blocks are still reachable in loss record 859 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x163A33: caf::actor caf::make_actor<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (make_actor.hpp:38)
+==72919==    by 0x16246F: caf::infer_handle_from_class<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, std::is_base_of<caf::abstract_actor, caf::stateful_actor<caf::hru_state, caf::event_based_actor> >::value>::type caf::actor_system::spawn_impl<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, (caf::spawn_options)0>(caf::actor_config&) (actor_system.hpp:581)
+==72919==    by 0x161247: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::actor_system::spawn_functor<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(std::integral_constant<bool, true>, caf::actor_config&, caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (actor_system.hpp:383)
+==72919==    by 0x16071B: caf::infer_handle_from_fun<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::get_callable_trait<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)>::type>::type caf::local_actor::spawn<(caf::spawn_options)0, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&>(caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), int&, int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, caf::actor&, int&, caf::stateful_actor<caf::gru_state, caf::event_based_actor>* const&) (local_actor.hpp:134)
+==72919==    by 0x15E03B: caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}::operator()(init_hru) const (gru_actor.cpp:37)
+==72919==    by 0x15F533: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, 0l, caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::detail::int_list<0l>, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:22)
+==72919==    by 0x15F583: decltype(auto) caf::detail::apply_args<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, , caf::const_typed_message_view<init_hru> >(caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}&, caf::const_typed_message_view<init_hru>&) (apply_args.hpp:33)
+==72919==    by 0x15F62F: bool caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>)::{lambda(auto:1&)#1}::operator()<{lambda(init_hru)#1}>(auto, std::integer_sequence) const (behavior_impl.hpp:123)
+==72919==    by 0x15FA77: bool caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) (behavior_impl.hpp:133)
+==72919==    by 0x15F4D3: caf::detail::default_behavior_impl<std::tuple<caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_hru)#1}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_hru, int, double, double, double, double, double)#2}, caf::gru_actor(caf::stateful_actor<caf::gru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(init_gru)#3}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,411 bytes in 65 blocks are still reachable in loss record 860 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7DE98B7: ??? (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x7DEAE13: asn1_array2tree (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x75103E7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 1,536 bytes in 6 blocks are still reachable in loss record 861 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 862 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x554F44B: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:204)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 863 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x554F4BF: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:206)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 864 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x554F533: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:205)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 865 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x554F59B: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:203)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 866 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F1057: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:207)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 867 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F10D7: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:201)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 868 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F115B: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:198)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 869 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F11D7: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:199)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 870 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F1253: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:204)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 871 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F12CB: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:208)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 872 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F1343: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:203)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 873 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F13BB: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:202)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 874 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F1433: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:197)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 875 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54F14AB: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:200)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 876 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A77DF: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:223)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 877 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A79DB: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:249)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 878 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A7D27: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:252)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 879 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A806F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:255)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 880 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A83B7: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:258)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 881 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54ABAD7: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:308)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,600 bytes in 1 blocks are still reachable in loss record 882 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54ABC0B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:309)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,616 bytes in 2 blocks are still reachable in loss record 883 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51369C3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:494)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,616 bytes in 2 blocks are still reachable in loss record 884 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51369C3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:494)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 1,616 bytes in 2 blocks are still reachable in loss record 885 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51369C3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:494)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 1,616 bytes in 2 blocks are still reachable in loss record 886 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51369C3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:494)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 1,616 bytes in 2 blocks are still reachable in loss record 887 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51369C3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:494)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 1,664 bytes in 4 blocks are possibly lost in loss record 888 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4010C0F: allocate_dtv (dl-tls.c:286)
+==72919==    by 0x401149F: _dl_allocate_tls (dl-tls.c:532)
+==72919==    by 0x6B250A3: allocate_stack (allocatestack.c:622)
+==72919==    by 0x6B250A3: pthread_create@@GLIBC_2.17 (pthread_create.c:660)
+==72919==    by 0x67C32C3: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.28)
+==72919==    by 0x4A2320B: std::thread::thread<std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1})::{lambda(char const*)#1}, caf::intrusive_ptr<caf::ref_counted>&, void>(char const*&&, caf::intrusive_ptr<caf::ref_counted>&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20F0B: std::thread caf::actor_system::launch_thread<caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}>(char const*, caf::scheduler::worker<caf::policy::work_stealing>::start()::{lambda()#1}) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1EA97: caf::scheduler::worker<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1D057: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,696 bytes in 4 blocks are still reachable in loss record 889 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A1E7C7: std::_MakeUniq<caf::scheduler::worker<caf::policy::work_stealing> >::__single_object std::make_unique<caf::scheduler::worker<caf::policy::work_stealing>, unsigned long&, caf::scheduler::coordinator<caf::policy::work_stealing>*, caf::policy::work_stealing::worker_data&, unsigned long&>(unsigned long&, caf::scheduler::coordinator<caf::policy::work_stealing>*&&, caf::policy::work_stealing::worker_data&, unsigned long&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A1CFDB: caf::scheduler::coordinator<caf::policy::work_stealing>::start() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 1,776 bytes in 6 blocks are still reachable in loss record 890 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 1,848 bytes in 1 blocks are still reachable in loss record 891 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6F7F58F: H5E_get_stack (in /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0)
+==72919==    by 0x6F83033: H5Eset_auto2 (in /usr/lib/aarch64-linux-gnu/libhdf5_serial.so.103.0.0)
+==72919==    by 0x6D2C617: nc4_hdf5_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D33223: NC_HDF5_initialize (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE98BF: NC_open (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661E12B: nf__open_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x666391B: __netcdf_MOD_nf90_open (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5363FB7: __netcdf_util_module_MOD_nc_file_open (netcdf_util.f90:58)
+==72919==    by 0x5441737: readDimension (read_attribute.f90:79)
+==72919==    by 0x175767: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:75)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 1,952 bytes in 1 blocks are still reachable in loss record 892 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4F66DEF: caf::actor caf::make_actor<caf::io::basp_broker, caf::actor, caf::actor_config&>(unsigned long, caf::node_id, caf::actor_system*, caf::actor_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5FA1B: caf::infer_handle_from_class<caf::io::basp_broker, std::is_base_of<caf::abstract_actor, caf::io::basp_broker>::value>::type caf::actor_system::spawn_impl<caf::io::basp_broker, (caf::spawn_options)8>(caf::actor_config&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F5AB33: caf::actor caf::io::middleman::named_broker<caf::io::basp_broker>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x4F44AFB: caf::io::middleman::start() (in /usr/local/lib/libcaf_io.so.0.18.6)
+==72919==    by 0x49F36DF: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 2,000 bytes in 250 blocks are still reachable in loss record 893 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5127E0B: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:210)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 2,048 bytes in 1 blocks are still reachable in loss record 894 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4A83F2F: __gnu_cxx::new_allocator<caf::config_option>::allocate(unsigned long, void const*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A830B3: std::allocator_traits<std::allocator<caf::config_option> >::allocate(std::allocator<caf::config_option>&, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A820AB: std::_Vector_base<caf::config_option, std::allocator<caf::config_option> >::_M_allocate(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A81143: void std::vector<caf::config_option, std::allocator<caf::config_option> >::_M_realloc_insert<caf::config_option>(__gnu_cxx::__normal_iterator<caf::config_option*, std::vector<caf::config_option, std::allocator<caf::config_option> > >, caf::config_option&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7FBA3: caf::config_option& std::vector<caf::config_option, std::allocator<caf::config_option> >::emplace_back<caf::config_option>(caf::config_option&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7DA3F: caf::config_option_set::add(caf::config_option) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A7D617: caf::config_option_adder::add_impl(caf::config_option&&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x188997: caf::config_option_adder& caf::config_option_adder::add<bool>(bool&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >) (config_option_adder.hpp:28)
+==72919==    by 0x18833B: config::config() (main.cpp:35)
+==72919==    by 0x18A47F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:77)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 2,048 bytes in 1 blocks are still reachable in loss record 895 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x526BF2F: __ffile_info_module_MOD_ffile_info (ffile_info.f90:199)
+==72919==    by 0x51D6C0B: ffile_info_C (cppwrap_fileAccess.f90:39)
+==72919==    by 0x1316F3: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:198)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 2,424 bytes in 3 blocks are still reachable in loss record 896 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 2,424 bytes in 3 blocks are still reachable in loss record 897 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 2,424 bytes in 3 blocks are still reachable in loss record 898 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 2,424 bytes in 3 blocks are still reachable in loss record 899 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 2,424 bytes in 3 blocks are still reachable in loss record 900 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 2,640 bytes in 30 blocks are still reachable in loss record 901 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2440F: nc4_att_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2AEDF: nc4_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2B347: NC4_HDF5_put_att (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEA5EB: nc_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661C91F: nf_put_att_text_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66633F7: __netcdf_MOD_nf90_put_att_text (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F4EF: __def_output_module_MOD_put_attrib (def_output.f90:311)
+==72919==    by 0x5242483: def_output (def_output.f90:186)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 3,200 bytes in 8 blocks are still reachable in loss record 902 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51335C7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:558)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x5331113: initHRU (init_hru_actor.f90:257)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3,200 bytes in 8 blocks are still reachable in loss record 903 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51304B7: __allocspace4chm_module_MOD_allocatedat_flag (allocspaceActors.f90:620)
+==72919==    by 0x513D6B7: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:182)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 3,200 bytes in 8 blocks are still reachable in loss record 904 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51332D7: __allocspace4chm_module_MOD_allocatedat_int (allocspaceActors.f90:557)
+==72919==    by 0x513D82B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:183)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 3,232 bytes in 4 blocks are still reachable in loss record 905 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136C97: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:495)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 3,300 bytes in 1 blocks are still reachable in loss record 906 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C82BB: defineGlobalData (summaActors_globalData.f90:165)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3,500 bytes in 3,500 blocks are still reachable in loss record 907 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5122C7B: __alloc_file_access_MOD_allocatedat_int (alloc_file_access.f90:308)
+==72919==    by 0x512EF2F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:163)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3,840 bytes in 1 blocks are still reachable in loss record 908 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512D183: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:138)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3,840 bytes in 1 blocks are still reachable in loss record 909 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CA9B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:171)
+==72919==    by 0x5331113: initHRU (init_hru_actor.f90:257)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 3,840 bytes in 1 blocks are still reachable in loss record 910 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513A4BF: __allocspace4chm_module_MOD_resizedata (allocspaceActors.f90:236)
+==72919==    by 0x51A0C1B: __coupled_em_module_MOD_coupled_em (coupled_em.f90:329)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 3,840 bytes in 1 blocks are still reachable in loss record 911 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AA4E3: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:287)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 3,840 bytes in 15 blocks are still reachable in loss record 912 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6D2415F: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919== 
+==72919== 4,000 bytes in 5 blocks are still reachable in loss record 913 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4,000 bytes in 5 blocks are still reachable in loss record 914 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5293987: __indexstate_module_MOD_resizeindx (indexState.f90:601)
+==72919==    by 0x529F563: __indexstate_module_MOD_indexstate (indexState.f90:187)
+==72919==    by 0x51AABC7: __coupled_em_module_MOD_coupled_em (coupled_em.f90:746)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 4,000 bytes in 5 blocks are still reachable in loss record 915 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 4,000 bytes in 5 blocks are still reachable in loss record 916 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 4,000 bytes in 250 blocks are still reachable in loss record 917 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51267B3: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:206)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4,000 bytes in 250 blocks are still reachable in loss record 918 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x532C4AF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:227)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4,160 bytes in 1 blocks are still reachable in loss record 919 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 4,160 bytes in 1 blocks are still reachable in loss record 920 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A958B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:279)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 4,416 bytes in 1 blocks are still reachable in loss record 921 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x51A10AB: __coupled_em_module_MOD_coupled_em (coupled_em.f90:338)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 4,440 bytes in 15 blocks are still reachable in loss record 922 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF1B07: nclistsetalloc (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254E3: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 4,548 bytes in 60 blocks are still reachable in loss record 923 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513892F: __allocspace4chm_module_MOD_copystruct_i4b (allocspaceActors.f90:395)
+==72919==    by 0x513B337: __allocspace4chm_module_MOD_resizedata (allocspaceActors.f90:640)
+==72919==    by 0x51A0C1B: __coupled_em_module_MOD_coupled_em (coupled_em.f90:329)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 4,800 bytes in 6 blocks are still reachable in loss record 924 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53311A3: initHRU (init_hru_actor.f90:258)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4,800 bytes in 6 blocks are still reachable in loss record 925 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 4,800 bytes in 6 blocks are still reachable in loss record 926 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136407: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:492)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DD93: __opsplittin_module_MOD_opsplittin (opSplittin.f90:455)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 4,800 bytes in 6 blocks are still reachable in loss record 927 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 4,848 bytes in 6 blocks are still reachable in loss record 928 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51369C3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:494)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 929 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24533: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 930 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24543: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 931 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24553: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 932 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24563: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 933 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D24573: nc4_grp_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D246D7: nc4_file_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D2D37F: NC4_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9593: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 934 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242B17: def_output (def_output.f90:201)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 935 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243313: def_output (def_output.f90:208)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 936 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x52386CF: __def_output_module_MOD_write_hru_info (def_output.f90:499)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 937 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238AA7: __def_output_module_MOD_write_hru_info (def_output.f90:504)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 938 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5238E7F: __def_output_module_MOD_write_hru_info (def_output.f90:509)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,240 bytes in 1 blocks are still reachable in loss record 939 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x66620F3: __netcdf_MOD_nf90_def_var_onedim (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x5239257: __def_output_module_MOD_write_hru_info (def_output.f90:514)
+==72919==    by 0x5243A0F: def_output (def_output.f90:225)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 5,568 bytes in 1 blocks are still reachable in loss record 940 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 5,568 bytes in 1 blocks are still reachable in loss record 941 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5331233: initHRU (init_hru_actor.f90:259)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 5,568 bytes in 1 blocks are still reachable in loss record 942 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513A917: __allocspace4chm_module_MOD_resizedata (allocspaceActors.f90:237)
+==72919==    by 0x51A09F7: __coupled_em_module_MOD_coupled_em (coupled_em.f90:320)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919==    by 0x16CA43: caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919== 
+==72919== 5,568 bytes in 1 blocks are still reachable in loss record 943 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x536DFAB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:464)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 5,568 bytes in 1 blocks are still reachable in loss record 944 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A8CF3: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:269)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 945 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512DEC3: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:148)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 946 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 947 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513C637: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:170)
+==72919==    by 0x536D9AB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:438)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 948 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CA9B: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:171)
+==72919==    by 0x536DB7F: __opsplittin_module_MOD_opsplittin (opSplittin.f90:446)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 949 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 950 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 951 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 952 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 5,696 bytes in 1 blocks are still reachable in loss record 953 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A913F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:274)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 6,400 bytes in 1 blocks are still reachable in loss record 954 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5500643: __t2enthalpy_module_MOD_t2e_lookup (t2enthalpy.f90:124)
+==72919==    by 0x51158C7: setupHRUParam (SummaActors_setup.f90:298)
+==72919==    by 0x16AABB: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:192)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 6,400 bytes in 1 blocks are still reachable in loss record 955 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A980F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:281)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 6,400 bytes in 8 blocks are still reachable in loss record 956 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53312C3: initHRU (init_hru_actor.f90:260)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 6,400 bytes in 8 blocks are still reachable in loss record 957 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E1C3: __opsplittin_module_MOD_opsplittin (opSplittin.f90:473)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 6,400 bytes in 8 blocks are still reachable in loss record 958 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5550B33: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:262)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 6,400 bytes in 8 blocks are still reachable in loss record 959 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F366F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:289)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 6,400 bytes in 8 blocks are still reachable in loss record 960 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x54F632F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:422)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919== 
+==72919== 6,520 bytes in 21 blocks are still reachable in loss record 961 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513976F: __allocspace4chm_module_MOD_copystruct_dp (allocspaceActors.f90:308)
+==72919==    by 0x513AFBF: __allocspace4chm_module_MOD_resizedata (allocspaceActors.f90:640)
+==72919==    by 0x51A07D3: __coupled_em_module_MOD_coupled_em (coupled_em.f90:311)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 6,520 bytes in 21 blocks are still reachable in loss record 962 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A895B: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:264)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 7,000 bytes in 7 blocks are still reachable in loss record 963 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512B11B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:76)
+==72919==    by 0x5316BBB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:149)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8,064 bytes in 7 blocks are still reachable in loss record 964 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x511C56B: __access_forcing_module_MOD_access_forcingfile (access_forcing.f90:124)
+==72919==    by 0x51D554F: FileAccessActor_ReadForcing (cppwrap_fileAccess.f90:203)
+==72919==    by 0x1304B3: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}::operator()(access_forcing, int, caf::actor) const (file_access_actor.cpp:76)
+==72919==    by 0x134A0B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, 0l, 1l, 2l, caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::detail::int_list<0l, 1l, 2l>, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:22)
+==72919==    by 0x134A9B: decltype(auto) caf::detail::apply_args<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, , caf::const_typed_message_view<access_forcing, int, caf::actor> >(caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}&, caf::const_typed_message_view<access_forcing, int, caf::actor>&) (apply_args.hpp:33)
+==72919==    by 0x134B47: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>)::{lambda(auto:1&)#1}::operator()<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}>(auto, caf::detail::dummy_timeout_definition) const (behavior_impl.hpp:123)
+==72919==    by 0x1358BF: bool caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul>) (behavior_impl.hpp:133)
+==72919==    by 0x13462B: caf::detail::default_behavior_impl<std::tuple<caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(initalize_outputStructure)#1}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_param, int, int)#2}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing, int, caf::actor)#3}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(access_forcing_internal, int)#4}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(write_output, int, int, int, caf::actor)#5}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(read_and_write, int, int, int, int, caf::actor)#6}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(run_failure, int)#7}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(restart_failures)#8}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(deallocate_structures)#9}, caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor)::{lambda(reset_outputCounter, int)#10}>, caf::detail::dummy_timeout_definition>::invoke(caf::detail::invoke_result_visitor&, caf::message&) (behavior_impl.hpp:109)
+==72919==    by 0x4A754E7: caf::behavior::operator()(caf::detail::invoke_result_visitor&, caf::message&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A25B: caf::scheduled_actor::consume(caf::mailbox_element&)::{lambda()#1}::operator()() const (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A42F: caf::scheduled_actor::consume(caf::mailbox_element&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8,800 bytes in 11 blocks are still reachable in loss record 965 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5124F17: __alloc_file_access_MOD_allocatedat_rkind (alloc_file_access.f90:258)
+==72919==    by 0x512F203: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:165)
+==72919==    by 0x531B4F3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:168)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8,800 bytes in 11 blocks are still reachable in loss record 966 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136F73: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:496)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x5331083: initHRU (init_hru_actor.f90:256)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 9,600 bytes in 12 blocks are still reachable in loss record 967 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5136117: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:491)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x536E3DB: __opsplittin_module_MOD_opsplittin (opSplittin.f90:482)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919== 
+==72919== 9,984 bytes in 159 blocks are still reachable in loss record 968 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A9F93: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:284)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 10,176 bytes in 1 blocks are still reachable in loss record 969 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512CD1F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:130)
+==72919==    by 0x531B4F3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:168)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 10,176 bytes in 1 blocks are still reachable in loss record 970 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513CEFF: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:172)
+==72919==    by 0x5331083: initHRU (init_hru_actor.f90:256)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 10,176 bytes in 1 blocks are still reachable in loss record 971 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A9EDF: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:284)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 10,211 bytes in 87 blocks are still reachable in loss record 972 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x513976F: __allocspace4chm_module_MOD_copystruct_dp (allocspaceActors.f90:308)
+==72919==    by 0x513AFBF: __allocspace4chm_module_MOD_resizedata (allocspaceActors.f90:640)
+==72919==    by 0x51A09F7: __coupled_em_module_MOD_coupled_em (coupled_em.f90:320)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919==    by 0x16CEC3: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>)::{lambda(auto:1&)#1}::operator()<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}>(auto, caf::message&) const (behavior_impl.hpp:123)
+==72919==    by 0x16D157: bool caf::detail::default_behavior_impl<std::tuple<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(start_hru)#1}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(done_write)#2}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(dt_init_factor, int)#4}>, caf::detail::dummy_timeout_definition>::invoke_impl<0ul, 1ul, 2ul, 3ul>(caf::detail::invoke_result_visitor&, caf::message&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) (behavior_impl.hpp:133)
+==72919== 
+==72919== 10,211 bytes in 87 blocks are still reachable in loss record 973 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A8DA7: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:269)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 10,480 bytes in 2 blocks are still reachable in loss record 974 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52430CB: def_output (def_output.f90:206)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 10,480 bytes in 2 blocks are still reachable in loss record 975 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x524355B: def_output (def_output.f90:210)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 11,865 bytes in 89 blocks are still reachable in loss record 976 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A91F3: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:274)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 12,000 bytes in 750 blocks are still reachable in loss record 977 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51267B3: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:206)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 12,536 bytes in 60 blocks are still reachable in loss record 978 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AA597: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:287)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 15,720 bytes in 3 blocks are still reachable in loss record 979 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5242D5F: def_output (def_output.f90:203)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 16,000 bytes in 1 blocks are still reachable in loss record 980 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x531F4DB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:185)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16,000 bytes in 1 blocks are still reachable in loss record 981 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x53260AF: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:225)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16,000 bytes in 8 blocks are still reachable in loss record 982 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512C5DB: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:98)
+==72919==    by 0x5317783: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:153)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16,000 bytes in 250 blocks are still reachable in loss record 983 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51298AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:215)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531F4DB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:185)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 16,000 bytes in 1,000 blocks are still reachable in loss record 984 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51267B3: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:206)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 17,288 bytes in 1 blocks are still reachable in loss record 985 of 1,030
+==72919==    at 0x484A3C4: operator new(unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x49F2DCB: caf::actor_system::actor_system(caf::actor_system_config&) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18A54F: int caf::exec_main<caf::id_block::summa, caf::io::middleman, void (*)(caf::actor_system&, config const&)>(void (*)(caf::actor_system&, config const&), int, char**) (exec_main.hpp:90)
+==72919==    by 0x187A33: main (main.cpp:122)
+==72919== 
+==72919== 17,936 bytes in 118 blocks are still reachable in loss record 986 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7DE94E3: ??? (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x7DEADE3: asn1_array2tree (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x7510487: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 19,200 bytes in 100 blocks are still reachable in loss record 987 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5500EB7: __t2enthalpy_module_MOD_t2e_lookup (t2enthalpy.f90:130)
+==72919==    by 0x51158C7: setupHRUParam (SummaActors_setup.f90:298)
+==72919==    by 0x16AABB: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:192)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 19,200 bytes in 100 blocks are still reachable in loss record 988 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A9903: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:281)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 20,700 bytes in 1 blocks are still reachable in loss record 989 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51536EF: __childstruc_module_MOD_childstruc (childStruc.f90:65)
+==72919==    by 0x54C7837: defineGlobalData (summaActors_globalData.f90:143)
+==72919==    by 0x1756F3: caf::job_actor(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor) (job_actor.cpp:70)
+==72919==    by 0x1BB19B: decltype ({parm#1}((forward<caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>&, caf::stateful_actor<caf::job_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1BAF0B: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::job_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::job_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4A20DBF: caf::scheduler::worker<caf::policy::work_stealing>::run() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 20,944 bytes in 1 blocks are still reachable in loss record 990 of 1,030
+==72919==    at 0x484AAA4: operator new[](unsigned long) (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x4B1495B: caf::detail::resize_global_meta_objects(unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B14CDB: caf::detail::set_global_meta_objects(unsigned short, caf::span<caf::detail::meta_object const>) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x18FE0F: void caf::init_global_meta_objects_impl<caf::id_block::summa, (unsigned short)200, (unsigned short)201, (unsigned short)202, (unsigned short)203, (unsigned short)204, (unsigned short)205, (unsigned short)206, (unsigned short)207, (unsigned short)208, (unsigned short)209, (unsigned short)210, (unsigned short)211, (unsigned short)212, (unsigned short)213, (unsigned short)214, (unsigned short)215, (unsigned short)216, (unsigned short)217, (unsigned short)218, (unsigned short)219, (unsigned short)220, (unsigned short)221, (unsigned short)222, (unsigned short)223, (unsigned short)224, (unsigned short)225, (unsigned short)226, (unsigned short)227, (unsigned short)228, (unsigned short)229, (unsigned short)230, (unsigned short)231, (unsigned short)232, (unsigned short)233, (unsigned short)234, (unsigned short)235, (unsigned short)236, (unsigned short)237>(std::integer_sequence<unsigned short, (unsigned short)200, (unsigned short)201, (unsigned short)202, (unsigned short)203, (unsigned short)204, (unsigned short)205, (unsigned short)206, (unsigned short)207, (unsigned short)208, (unsigned short)209, (unsigned short)210, (unsigned short)211, (unsigned short)212, (unsigned short)213, (unsigned short)214, (unsigned short)215, (unsigned short)216, (unsigned short)217, (unsigned short)218, (unsigned short)219, (unsigned short)220, (unsigned short)221, (unsigned short)222, (unsigned short)223, (unsigned short)224, (unsigned short)225, (unsigned short)226, (unsigned short)227, (unsigned short)228, (unsigned short)229, (unsigned short)230, (unsigned short)231, (unsigned short)232, (unsigned short)233, (unsigned short)234, (unsigned short)235, (unsigned short)236, (unsigned short)237>) (init_global_meta_objects.hpp:54)
+==72919==    by 0x18CDDB: void caf::init_global_meta_objects<caf::id_block::summa>() (init_global_meta_objects.hpp:63)
+==72919==    by 0x18B82B: void caf::exec_main_init_meta_objects_single<caf::id_block::summa>() (exec_main.hpp:43)
+==72919==    by 0x18A39B: void caf::exec_main_init_meta_objects<caf::id_block::summa, caf::io::middleman>() (exec_main.hpp:48)
+==72919==    by 0x187A1B: main (main.cpp:122)
+==72919== 
+==72919== 21,984 bytes in 65 blocks are still reachable in loss record 991 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A963F: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:279)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 22,000 bytes in 2,750 blocks are still reachable in loss record 992 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51262AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:205)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5323AB7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:206)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 24,000 bytes in 3,000 blocks are still reachable in loss record 993 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51262AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:205)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 31,440 bytes in 6 blocks are still reachable in loss record 994 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x52431EF: def_output (def_output.f90:207)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 32,000 bytes in 2 blocks are still reachable in loss record 995 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x53185CB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:156)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32,000 bytes in 2 blocks are still reachable in loss record 996 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x5324903: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:209)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32,000 bytes in 2 blocks are still reachable in loss record 997 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51371D3: __allocspace4chm_module_MOD_allocatedat_dp (allocspaceActors.f90:497)
+==72919==    by 0x513D99F: __allocspace4chm_module_MOD_alloclocal (allocspaceActors.f90:184)
+==72919==    by 0x53313FB: initHRU (init_hru_actor.f90:262)
+==72919==    by 0x16A8D3: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:155)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32,000 bytes in 500 blocks are still reachable in loss record 998 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51298AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:215)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53185CB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:156)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32,000 bytes in 500 blocks are still reachable in loss record 999 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51298AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:215)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5324903: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:209)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 32,088 bytes in 13 blocks are still reachable in loss record 1,000 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54AA313: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:286)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 33,000 bytes in 8,250 blocks are still reachable in loss record 1,001 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x511F177: __alloc_file_access_MOD_allocatedat_int (alloc_file_access.f90:297)
+==72919==    by 0x512EF2F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:163)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48,000 bytes in 3 blocks are still reachable in loss record 1,002 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x531DAC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:178)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 48,000 bytes in 750 blocks are still reachable in loss record 1,003 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51298AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:215)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531DAC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:178)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 72,656 bytes in 478 blocks are still reachable in loss record 1,004 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x7DE94E3: ??? (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x7DEADE3: asn1_array2tree (in /usr/lib/aarch64-linux-gnu/libtasn1.so.6.6.0)
+==72919==    by 0x75103E7: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x74DF08B: ??? (in /usr/lib/aarch64-linux-gnu/libgnutls.so.30.27.0)
+==72919==    by 0x400E8B3: call_init.part.0 (dl-init.c:72)
+==72919==    by 0x400E9B3: call_init (dl-init.c:30)
+==72919==    by 0x400E9B3: _dl_init (dl-init.c:119)
+==72919==    by 0x4001183: ??? (in /usr/lib/aarch64-linux-gnu/ld-2.31.so)
+==72919== 
+==72919== 78,600 bytes in 15 blocks are still reachable in loss record 1,005 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF294F: NC_hashmapnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D254EB: ncindexnew (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D241EF: nc4_var_list_add2 (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D242CB: nc4_var_list_add (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6D30C5B: NC4_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CEBBBF: nc_def_var (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6620093: nf_def_var_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6661B6F: __netcdf_MOD_nf90_def_var_manydims (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523E3C3: __def_output_module_MOD_def_variab (def_output.f90:425)
+==72919==    by 0x5243437: def_output (def_output.f90:209)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919== 
+==72919== 138,000 bytes in 17,250 blocks are still reachable in loss record 1,006 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51262AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:205)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 138,000 bytes in 17,250 blocks are still reachable in loss record 1,007 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51262AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:205)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 176,000 bytes in 11 blocks are still reachable in loss record 1,008 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x532290B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:199)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 176,000 bytes in 2,750 blocks are still reachable in loss record 1,009 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51298AF: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:215)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x532290B: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:199)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 200,000 bytes in 250 blocks are still reachable in loss record 1,010 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51272E3: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:208)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 200,000 bytes in 250 blocks are still reachable in loss record 1,011 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512787B: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:209)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 202,000 bytes in 250 blocks are still reachable in loss record 1,012 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5128913: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:212)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 202,000 bytes in 250 blocks are still reachable in loss record 1,013 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5128913: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:212)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 208,000 bytes in 13 blocks are still reachable in loss record 1,014 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x5323AB7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:206)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== Bingo
+==72919== 240,000 bytes in 300 blocks are still reachable in loss record 1,015 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5501AE3: __t2enthalpy_module_MOD_t2e_lookup (t2enthalpy.f90:136)
+==72919==    by 0x51158C7: setupHRUParam (SummaActors_setup.f90:298)
+==72919==    by 0x16AABB: caf::Initialize_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:192)
+==72919==    by 0x16A457: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor) (hru_actor.cpp:57)
+==72919==    by 0x168013: decltype ({parm#1}((forward<caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})), move((get<5l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), 0l, 1l, 2l, 3l, 4l, 5l, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l, 5l>, std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>&, caf::stateful_actor<caf::hru_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x167C17: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::hru_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor), std::tuple<int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::stateful_actor<caf::gru_state, caf::event_based_actor>*>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C08A47: caf::scheduled_actor::resume(caf::execution_unit*, unsigned long) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 240,000 bytes in 300 blocks are still reachable in loss record 1,016 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x54A9A17: __solvebyida_module_MOD_solvebyida (solveByIDA.f90:281)
+==72919==    by 0x54F7B1F: __systemsolvsundials_module_MOD_systemsolvsundials (systemSolvSundials.f90:508)
+==72919==    by 0x5551E43: __varsubstepsundials_module_MOD_varsubstepsundials (varSubstepSundials.f90:354)
+==72919==    by 0x537637B: __opsplittin_module_MOD_opsplittin (opSplittin.f90:869)
+==72919==    by 0x51AD087: __coupled_em_module_MOD_coupled_em (coupled_em.f90:878)
+==72919==    by 0x510E637: __summaactors_modelrun_MOD_summaactors_runphysics (SummaActors_modelRun.f90:334)
+==72919==    by 0x51DCA33: RunPhysics (cppwrap_hru.f90:272)
+==72919==    by 0x16B203: caf::Run_HRU(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*) (hru_actor.cpp:268)
+==72919==    by 0x169D5F: caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}::operator()(run_hru, int) const (hru_actor.cpp:128)
+==72919==    by 0x16CDC7: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, 0l, 1l, caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::detail::int_list<0l, 1l>, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:22)
+==72919==    by 0x16CE17: decltype(auto) caf::detail::apply_args<caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}, , caf::const_typed_message_view<run_hru, int> >(caf::hru_actor(caf::stateful_actor<caf::hru_state, caf::event_based_actor>*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor, int, caf::actor)::{lambda(run_hru, int)#3}&, caf::const_typed_message_view<run_hru, int>&) (apply_args.hpp:33)
+==72919== 
+==72919== 300,000 bytes in 750 blocks are still reachable in loss record 1,017 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51201AB: __alloc_file_access_MOD_allocatedat_int (alloc_file_access.f90:300)
+==72919==    by 0x512EF2F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:163)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 336,000 bytes in 21 blocks are still reachable in loss record 1,018 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 404,000 bytes in 500 blocks are still reachable in loss record 1,019 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5128393: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:211)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 524,288 bytes in 1 blocks are still reachable in loss record 1,020 of 1,030
+==72919==    at 0x484C0A4: calloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x6CF5287: add_to_NCList (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x6CE9567: NC_create (in /usr/lib/aarch64-linux-gnu/libnetcdf.so.15)
+==72919==    by 0x661DD27: nf_create_ (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x6663797: __netcdf_MOD_nf90_create (in /usr/lib/aarch64-linux-gnu/libnetcdff.so.7.0.0)
+==72919==    by 0x523F813: __def_output_module_MOD_ini_create (def_output.f90:271)
+==72919==    by 0x52420DF: def_output (def_output.f90:177)
+==72919==    by 0x131A43: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:236)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 606,000 bytes in 750 blocks are still reachable in loss record 1,021 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5128913: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:212)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 800,000 bytes in 2,000 blocks are still reachable in loss record 1,022 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x5120743: __alloc_file_access_MOD_allocatedat_int (alloc_file_access.f90:301)
+==72919==    by 0x512EF2F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:163)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 960,000 bytes in 60 blocks are still reachable in loss record 1,023 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512D7EF: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:141)
+==72919==    by 0x531CC77: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:175)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,000,000 bytes in 1,250 blocks are still reachable in loss record 1,024 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512787B: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:209)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,200,000 bytes in 1,500 blocks are still reachable in loss record 1,025 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512787B: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:209)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x531E693: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:182)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,200,000 bytes in 1,500 blocks are still reachable in loss record 1,026 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51272E3: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:208)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,392,000 bytes in 87 blocks are still reachable in loss record 1,027 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x53200AB: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:189)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,424,000 bytes in 89 blocks are still reachable in loss record 1,028 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x512E52F: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:151)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4C0A5DF: caf::scheduled_actor::activate(caf::execution_unit*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 1,600,000 bytes in 2,000 blocks are still reachable in loss record 1,029 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51272E3: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:208)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5321AC3: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:196)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== 8,000,000 bytes in 500 blocks are still reachable in loss record 1,030 of 1,030
+==72919==    at 0x4849D8C: malloc (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
+==72919==    by 0x51293AB: __alloc_file_access_MOD_allocatedat_rkind_nsteps (alloc_file_access.f90:214)
+==72919==    by 0x512F09B: __alloc_file_access_MOD_alloc_outputstruc (alloc_file_access.f90:164)
+==72919==    by 0x5323AB7: __summaactors_initoutputstruct_MOD_initalizeoutput (initOutputStruc.f90:206)
+==72919==    by 0x51D5603: Init_OutputStruct (cppwrap_fileAccess.f90:183)
+==72919==    by 0x131B6B: caf::initalizeFileAccessActor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*) (file_access_actor.cpp:247)
+==72919==    by 0x13153F: caf::file_access_actor(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor) (file_access_actor.cpp:39)
+==72919==    by 0x185A97: decltype ({parm#1}((forward<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>)({parm#4}), move((get<0l>)({parm#3})), move((get<1l>)({parm#3})), move((get<2l>)({parm#3})), move((get<3l>)({parm#3})), move((get<4l>)({parm#3})))) caf::detail::apply_moved_args_prefixed<caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), 0l, 1l, 2l, 3l, 4l, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&>(caf::behavior (*&)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), caf::detail::int_list<0l, 1l, 2l, 3l, 4l>, std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>&, caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*&) (apply_args.hpp:64)
+==72919==    by 0x1851C7: caf::detail::init_fun_factory_helper<caf::stateful_actor<caf::file_access_state, caf::event_based_actor>, caf::behavior (*)(caf::stateful_actor<caf::file_access_state, caf::event_based_actor>*, int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor), std::tuple<int, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, caf::actor>, true, true>::operator()(caf::local_actor*) (init_fun_factory.hpp:78)
+==72919==    by 0x4A76803: caf::detail::unique_function<caf::behavior (caf::local_actor*)>::operator()(caf::local_actor*) (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E5AF: caf::event_based_actor::make_behavior() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919==    by 0x4B3E4B7: caf::event_based_actor::initialize() (in /usr/local/lib/libcaf_core.so.0.18.6)
+==72919== 
+==72919== LEAK SUMMARY:
+==72919==    definitely lost: 0 bytes in 0 blocks
+==72919==    indirectly lost: 0 bytes in 0 blocks
+==72919==      possibly lost: 3,744 bytes in 9 blocks
+==72919==    still reachable: 23,322,603 bytes in 77,946 blocks
+==72919==                       of which reachable via heuristic:
+==72919==                         multipleinheritance: 48 bytes in 1 blocks
+==72919==         suppressed: 0 bytes in 0 blocks
+==72919== 
+==72919== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
diff --git a/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt b/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt
index 78562a2..3a501a7 100644
--- a/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt
+++ b/utils/laugh_tests/celia1990/settings/summa_zDecisions_celia1990.txt
@@ -37,7 +37,7 @@ thCondSoil                      mixConstit      ! (27) choice of thermal conduct
 spatial_gw                      localColumn     ! (28) choice of method for the spatial representation of groundwater
 subRouting                      timeDlay        ! (29) choice of method for sub-grid routing
 howHeatCap                      enthalpyFD      
-diffEqSolv                      backwEuler
+diffEqSolv                      sundialIDA
 ! ***********************************************************************************************
 ! ***** description of the options available -- nothing below this point is read ****************
 ! ***********************************************************************************************
diff --git a/utils/laugh_tests/celia1990/verification_data/runinfo.txt b/utils/laugh_tests/celia1990/verification_data/runinfo.txt
index feeb3b8..6bf3a82 100644
--- a/utils/laugh_tests/celia1990/verification_data/runinfo.txt
+++ b/utils/laugh_tests/celia1990/verification_data/runinfo.txt
@@ -1 +1 @@
- Run start time on system:  ccyy=2022 - mm=08 - dd=27 - hh=02 - mi=48 - ss=23.700
+ Run start time on system:  ccyy=2022 - mm=08 - dd=31 - hh=22 - mi=02 - ss=31.792
diff --git a/utils/laugh_tests/celia1990/verification_data/summa_celia1990_G1-1_timestep.nc b/utils/laugh_tests/celia1990/verification_data/summa_celia1990_G1-1_timestep.nc
index ba51c0e9abb84add6c3aed5b8a142efa26b4817f..c26488e8917911ac0d3e2ad5097a09a7b04e45e1 100644
GIT binary patch
delta 432
zcmex7SLO3ul?n41l_xG(&hoTcns2k=G(o1xe+{K3?>CG9V%yE!EJp0c$_&a35YW(-
zaLz3_*p*?s97KSTk%8eqGl<Q2nSnu<9mI;tnf_*T0rv$)9+<ZCJf?>>`|y4jU|PX3
z*;P($dYUwo#KZuB$&=+2cw^KZ%iV%KTo@RxFfdG3Oc9;_L4}!P@?AL%mMfX-pG@YI
z*A)281~k`*fk6pK-TYp|HQ7-99m`>vCsmUTg|ALNP{z8MPjMZi9K%VdIz^B>kTvlt
zwU+_a>Tl*$7Ghypv*i7~&GPD-nS>Y_xEVNrFeAU*BQ>$aIk8}}zowW>YF<f3VopJ&
zn+r@qN@iM`YhiGHP8mo6S8-`xN@ik?r;8)d)XS4OwdMH)Idws{GB5}-=lu5AeDL9A
zMv%)U^XY~QAiL}PhvL(dQ*?K;cz?UV0&@Sv1lDFg{dPWmMj&PaVrC#_0b*7lW&>jO
L?R@$iPwxW&&(nBo

delta 306
zcmex7SLO3ul?n416(=rO&N5ZvVA5v8X@X3X{~Ah7-ftKI#I~EcS&Z0?6&Vy6AfU3b
zBFil}*p*?s97KSTk%8eqGl<P-&d6|*4aD-@|6F5p0rv$)9+<Z3RD<W6eR#hMF!69s
zc9m0`&L+(yF)=`3@?<#$-kl4-ymkxraA9DuU}TuAm?Ap;g9<ap<hybjEQ{Gw+a`0$
zYfg5Sf6LO|>vC_hq42ZG2g+DC^C_-lWO+Puk`7SBb2F#15DUw>9hK8I%d2l@+I;Y#
zIpbtbZFxQcPF;|L7#IX<BWC3T#V<30bWi5f4WC@5yNgAoebNh%krNYGoB8zH`Sclq
Zm<foPftUq|S%H`hh}pOE>2o~24*-;ET$2C*

-- 
GitLab