Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passing of iter and niter in compute friction velocity subroutine #521

Open
JhanSrbinovsky opened this issue Jan 10, 2025 · 3 comments
Open

Comments

@JhanSrbinovsky
Copy link
Collaborator

JhanSrbinovsky commented Jan 10, 2025

Can implement this at a later date following implementation of:

 * In comp_friction_vel, define zetar as REAL(mp) 
 * Call comp_friction_vel with : canopy%zetar(:,iter)
 * Then we can remove iter and NITER from the definition of comp_friction_vel entirely.

if possible. For now I just want a branch to test that asymmetric dimension declaration on both sides of the CALL is not the source of fluctuation in AM3, and should be able to do that here if indeed the output is identical.

Following DM with @har917 and @ccarouge

@har917 har917 changed the title Passing of iter and inter in compute friction velocity subroutine Passing of iter and niter in compute friction velocity subroutine Jan 10, 2025
@JhanSrbinovsky
Copy link
Collaborator Author

Note: Following outlined method of implementation will (aside from SLI issue brought up by @har917 ) require following through impact to functions psim and psis.

@har917
Copy link
Collaborator

har917 commented Jan 10, 2025

Note: It is not immediately obvious scientifically why zetar and zetarsh need to be 2D arrays. It also appears that zetar and zetarsh are only partially initialised.

It maybe possible to resolve the asymmetry in dimensions without affecting the wider structure of the code - this is cetainly a good first approach since the dimension issue ripples through deine_canopy, update_zetar and the elemental functions psim and psis

@har917 har917 marked this as a duplicate of #522 Jan 10, 2025
@ccarouge
Copy link
Member

In the proposed solution above, zetar dimensions only change in comp_friction_vel. The definition of canopy%zetar is not changed.

comp_friction_vel does not call psis() so why would it have an impact on psis()?
It's calling psim() but that function is already defined with an argument of dimension REAL(mp) so no change required.

And comp_friction_vel does not have any condition on SLI so there are no changes that impact SLI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants