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

Gridcell-to-gridcell comm V0: move grid check out of elm_drv for performance improvement #1

Closed
glemieux opened this issue Jun 16, 2022 · 2 comments

Comments

@glemieux
Copy link
Owner

Currently the seed dispersal code recomputes the nearest neighbor locations every timestep in clm_drv which is inefficient. Setup a mechanism to record this as global or gridcell type vector to be calculated during initialization.

@glemieux
Copy link
Owner Author

glemieux commented Jun 16, 2022

Q: When is ldecomp initialized? Neighbor algorithm needs to be defined after this.

  • decomMod.F90 defines the decomp_type
  • decompInit_lnd procedure allocates the ixy/jxy variables
  • Initialized via decompInit_lnd @ 177 in initialize1

Q: When is the gridcell type initialized? If we want to calculate neighbors once and store in gridcell, needs to come after gridcell allocation, which I think comes after decomp.

  • note: ctsm does not have elm's GridcellDataType, but both share GridcellType which defines "physical" properties
  • Initialized via grc_pp%Init @ 320 in initialize1
  • this initialization simply nans values. The actual initialization is via initGridcells call in iniGridCellsMod @ 351 later in initialize1

@glemieux
Copy link
Owner Author

Closing this with 31fb53b

glemieux pushed a commit that referenced this issue Nov 6, 2023
Bring in changes from AKT icepack-integration branch
Merging now in order to cleanly update to the latest E3SM with better testing options.
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

No branches or pull requests

1 participant