The new respiration diags for C, N and P all use the variables "phy", "INi" and "IPi". These change with phyto group but the location of the diag writing for diags id_PhyRSPc, id_PhyRSPn and id_PhyRSPp mean that the values of phy, INi and IPi from the last phyto group were being used to compute and write these respiration diags. This meant that if simulating two phyto groups, both were recording the same respiration diag data (i.e. that of the second phyto group) because phy, INi and IPi were the values left over from the previous loop on num_phy. Mass balance calculations were affected and the diags were difficult to interpret.
This suggestion reloads the correct phyto group by phyto group values of phy, INi and IPi before calculating and recording the respiration diagnostics. I have run the revised code and this fixes the mass balance issues.
Hi Matt
This is similar to https://github.com/AquaticEcoDynamics/libaed-water/pull/51.
The new respiration diags for C, N and P all use the variables "phy", "INi" and "IPi". These change with phyto group but the location of the diag writing for diags id_PhyRSPc, id_PhyRSPn and id_PhyRSPp mean that the values of phy, INi and IPi from the last phyto group were being used to compute and write these respiration diags. This meant that if simulating two phyto groups, both were recording the same respiration diag data (i.e. that of the second phyto group) because phy, INi and IPi were the values left over from the previous loop on num_phy. Mass balance calculations were affected and the diags were difficult to interpret.
This suggestion reloads the correct phyto group by phyto group values of phy, INi and IPi before calculating and recording the respiration diagnostics. I have run the revised code and this fixes the mass balance issues.
MB