waternumbers / dynatop

Dynamic TOPMODEL
https://waternumbers.github.io/dynatop/
4 stars 6 forks source link

Printing all internal fluxes #40

Open sarcol-bgs opened 2 years ago

sarcol-bgs commented 2 years ago

Hi

This is a really nice code. Thank you for making it open source! I'd like to write a complementary tracer model, so that I can model both streamflow and chemistry. However, to do this I would need to print out all the internal fluxes from dynatop. I don't know whether you would have any hints or tips on the best way to go about this?

Many thanks!

Sarah

waternumbers commented 2 years ago

Hi Sarah

Apologies for the slow response, I missed the notification email about this. As you've noticed the the internal fluxes - between stores or between the HRUs aren't kept. The fluxes between the HRUs can be recreated from the states but this is not (trivially) the case for the vertical fluxes.

Getting the vertical fluxes out will require some alteration to the C++ code. At the moment the vertical fluxes are only computed (transiently at each time step) within the Hillslope HRU class so these internal wills need exposing. I can think of two options

  1. Add them to the model states
  2. Create a vector for each of the vertical fluxes and reference elements of them in the HRU class (as for the vectors of fluxes between HRUs) and output this as is done for the model states

Personally I'd prefer 2 since the vertical fluxes aren't required as states to restart the model. I'm happy to help you look at doing this. Another option is to adapt the HIllslope HRU to add the tracer model directly.

Happy to arrange a call to talk through the options - drop me an email directly

Regards

Paul

sarcol-bgs commented 2 years ago

Hi Paul

Thank you very much for getting back to me and for the kind offer of help. In the end I decided to use a different version of DynamicTOPMODEL. It has fewer features than yours, but it is written in Fortran and I know Fortran a lot better than C++!

Thank you again and Merry Christmas!

Sarah

From: Paul Smith @.> Sent: 17 December 2021 10:15 To: waternumbers/dynatop @.> Cc: Sarah Collins - BGS @.>; Author @.> Subject: Re: [waternumbers/dynatop] Printing all internal fluxes (Issue #40)

Hi Sarah

Apologies for the slow response, I missed the notification email about this. As you've noticed the the internal fluxes - between stores or between the HRUs aren't kept. The fluxes between the HRUs can be recreated from the states but this is not (trivially) the case for the vertical fluxes.

Getting the vertical fluxes out will require some alteration to the C++ code. At the moment the vertical fluxes are only computed (transiently at each time step) within the Hillslope HRU class so these internal wills need exposing. I can think of two options

  1. Add them to the model states
  2. Create a vector for each of the vertical fluxes and reference elements of them in the HRU class (as for the vectors of fluxes between HRUs) and output this as is done for the model states

Personally I'd prefer 2 since the vertical fluxes aren't required as states to restart the model. I'm happy to help you look at doing this. Another option is to adapt the HIllslope HRU to add the tracer model directly.

Happy to arrange a call to talk through the options - drop me an email directly

Regards

Paul

— Reply to this email directly, view it on GitHubhttps://github.com/waternumbers/dynatop/issues/40#issuecomment-996599753, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM7KOMR7GLB4EZ7ZJORUZCLURMEQZANCNFSM5IMMCW2Q. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you authored the thread.Message ID: @.**@.>>

This email and any attachments are intended solely for the use of the named recipients. If you are not the intended recipient you must not use, disclose, copy or distribute this email or any of its attachments and should notify the sender immediately and delete this email from your system. UK Research and Innovation (UKRI) has taken every reasonable precaution to minimise risk of this email or any attachments containing viruses or malware but the recipient should carry out its own virus and malware checks before opening the attachments. UKRI does not accept any liability for any losses or damages which the recipient may sustain due to presence of any viruses.