Skip to content

Conversation

@Whyborn
Copy link
Contributor

@Whyborn Whyborn commented Dec 3, 2025

CABLE

Thank you for submitting a pull request to the CABLE Project.

Description

Try to bring the MPI and serial drivers into parity, by adding the MPI bits to the serial driver, rather than trying to re-arrange the the MPI drivers.

Type of change

  • code clean up

Checklist

  • The new content is accessible and located in the appropriate section
  • I have checked that links are valid and point to the intended content
  • I have checked my code/text and corrected any misspellings

Testing

  • Are the changes bitwise-compatible with the main branch? If working on an optional feature, are the results bitwise-compatible when this feature is off? If yes, copy benchcab output showing successful completion of the bitwise compatibility tests or equivalent results below this line.

  • Are the changes non bitwise-compatible with the main branch because of a bug fix or a feature being newly implemented or improved? If yes, add the link to the modelevaluation.org analysis versus the main branch or equivalent results below this line.

Please add a reviewer when ready for review.


📚 Documentation preview 📚: https://cable--658.org.readthedocs.build/en/658/

@Whyborn
Copy link
Contributor Author

Whyborn commented Dec 4, 2025

MPI things done on the master, that are not done in serial:

These things are done once, in a if (CALL1) block:

  • Broadcasting the size of the timestep dels, line 459
  • Create the land decomposition, lines 462-465
  • Allocate arrays for send/receive status, lines 470-473
  • Duplicate the mpi communicator for input and output MPI calls, lines 474-475
  • Distribute the biogeophysics, climate, CASA and POP parameters to the workers, lines 482, 487, 498, 501
  • Copy master meteorology and vegetation input data (read into met and veg) to the master versions (imet and iveg), to be distributed, lines 505-577
  • Create send and receive types for the input and output, lines 583, 587, 593, 597, 600, 607, 616, 624

The remaining things are done more than once:

  • Broadcasting the number of steps in the year kend, line 395.
  • Sending of input to workers, lines 694, 699
  • If CASA-CNP, receiving of timestep info, lines 773, 780, 787
  • If CASA-CNP, sending of timestep info, line 792
  • If start of day, send CASA dump timestep, line 819

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 this pull request may close these issues.

2 participants