FATES parameters that end up in the edpftvarcon_inst% structure, are read in through a completely different call sequence than the others. Take a look, FatesReadPFTs() and FatesReadParameters() are doing the same thing for different parameter structures.
for EDPftvarcon_inst:
clm_initializeMod.F90:initialize2() ->
pftconMod.F90:Init() -->
pftconMod.F90:InitRead() ->
clmfates_paraminterfaceMod.F9:FatesReadPFTs()
I'm pretty sure that we can remove the EDPftvarcon_inst call sequence since its called second, and then add the register and receive calls from EDPftvarcon_inst into the FatesReadParameters() subroutine.
FATES parameters that end up in the edpftvarcon_inst% structure, are read in through a completely different call sequence than the others. Take a look, FatesReadPFTs() and FatesReadParameters() are doing the same thing for different parameter structures.
for EDPftvarcon_inst: clm_initializeMod.F90:initialize2() -> pftconMod.F90:Init() --> pftconMod.F90:InitRead() -> clmfates_paraminterfaceMod.F9:FatesReadPFTs()
everything else: clm_initializeMod.F90:initialize1() -> clmfates_interface:CLMFatesGlobals1() ->
FatesInterfaceMod.F90:SetFatesGlobalElements1() -> FatesInterfaceMod.F90:FatesReadParameters()
I'm pretty sure that we can remove the EDPftvarcon_inst call sequence since its called second, and then add the register and receive calls from EDPftvarcon_inst into the FatesReadParameters() subroutine.