Institute the general high-level structure desired.

Keep comsrf, camice, camocn/somocn all as they are now, but create
the overall structure we have desired for the end for within stepon.
Start: July 8th, cam3_2_4_brnch_chghilev
Ideal engineering time: 1.5 weeks
Actual time: July 8th-August 19th (6 weeks) Load factor 4
(but if account for ESMF worshop which was a week, load factor 3.33)
6000 lines of changes.
240lpd

  • Seperate comsrf into 3-modules:one just with the 2D arrays (comsrf),second with surface derived types (camsrfexch_types, third with merging functionality (cam_hubcomp).
  • Definition of surface datatypes was to occur in cam_hubcomp, but to make it work with SCAM, CCSM and stand-alone CAM need to move them to the top and have a seperate instance for SCAM.
  • Move ccsm run phase from physpkg to ccsm_msg module.
  • Move current surface calls and merging to stepon.
  • Move call of surface diagnostics to stepon. Only merged surface diagnostics should be output from the surface diagnostics module. All individual surface diagnostics should be moved to the appropriate surface module.
  • Make physpkg into a module with 2-init, 2-run, 1-final phases (use subrt -version as example)
  • Move verify_fractions and bounding into camsrfexch_types (then camhub_comp can be an empty stub for CCSM mode)
    (This will be checked in as: cam3_2_15 on August 19th)
  • Seperate ice_frac srfflx_parm%areafrac and icefrac roles cleanly.
    (Don't do this as it's a cleanup step not critically needed)
  • Do an initial merge of srfflx_parm and srfflx_state (just use the union of what's currently there).
    (Wait on this until later)
  • No labels