Update streams handling to the OO streams redesign
- Dominant language
- Fortran
- Stars
- 352
- Forks
- 361
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 7
Description
The files for stream handling in cpl/share_esmf should be updated to the new OO design in #3604. This will remove code duplication, and improves modularity and code design.
The files to do this for now are:
- ch4FInundatedStreamType.F90
- cropcalStreamMod.F90
- ExcessIceStreamType.F90
- FireDataBaseType.F90
- laiStreamMod.F90
- ndepStreamMod.F90
- PrigentRoughnessStreamType.F90
- SoilMoistureStreamMod.F90
- UrbanTimeVarType.F90
- ZenderSoilErodStreamType.F90
Note that SoilMoistureStreamMod.F90 has a 3D stream handling of streams so is a little different than the others, so will need some work in CTSMForce2DStreamBaseType in order to work. Probably the base type could be extended into a 3D version. Or this file could be left alone since it's different from the others.
This should reduce about 4000 lines of code for the streams implementations into 1500, and remove the 500 lines of code in unit_test_stubs for streams implementations. So it's a code maintenance win as well as a win for code readability.
Contributor guide
Assessment
This issue has not been assessed yet.