Sequential CCSM utilizing MCT

The goal of this project is to develop a sequential CCSM that has all the functionality of the current concurrent CCSM and produces the same climate (and bfb answers in some scenarios)
!! Current Task List
Stand-alone cam functionality

  • get drvord_cam3_3_43 onto cam trunk (cam3_4_01) (Mat) DONE
    (This puts in the capability into the stand-alone cam code to have the ocn components run after cam - all components still couple on the same time step)
    • make sure that sstcyc and icecyc are consistent in build-namelist
    • will need to create a new clm trunk tag with the relevant changes migrated into the clm trunk (will need to make sure that clm offline and ccsm mode are not effected)
  • start from mods in bangkok:~mvertens/src/cam/drvord_cam3_3_43 and create a new branch from cam3_4_01 using cam/clm hourly coupling (Mariana)
    • move call to ocn/atm/ flux calculation to be consistent with cpl6 (Mariana)
    • make the ocn time lagged in this version (Mariana)
    • modify cam branch test so that branch runs do not need history restart files (Mat)
    • dom/som simulations with this branch (Mat)
  • get cice4 into stand-alone cam code (Mariana)
    • put support into build-namelist and configure to support using cice4 in prescribed mode only (som mode will need to have regridding implemented in sequential driver) (Erik)
  • put ccsm long term archiving functionality into cam code and remove current run-time archiving funcitonality (use prototype implementation in clm (below) (Mat)
  • put in functionality into cam dom/som/csim to read in land fraction directly from its own namelists (Mariana)
  • move bndtvs namelist to dom/som/csim and make sure that build-namelist sets them consistently (Mariana, Erik)
  • add frzmlt and rho to output state in cam dom (Mariana)
  • put in aqua_planet as separate module (independent of dom) (Mariana)

Stand-alone clm functionality

  • put datm7 parallel functinality into seqflxave_clm3_expa_90 (Mariana, Brian K.)
  • do performance analysis of this sequential system to determine scalability relative to cpl6 for the same resolution and clm configuration (Tony)
  • put ccsm long term archiving functionality into cam code and remove current run-time archiving funcitonality (Tony)
  • do the same archiving for clm (Erik)
  • update namelist/build generation for seqflxave_clm3_expa_90 so that cases are created easily and tests can run using the new datm7, sequential driver code (Erik)

Sequential driver (and sequential dead7 models)

  • put in regridding (Rob) DONE
  • add NP fix from Tony (Rob)
  • add ability to input aream to domain (Rob)
  • add check of aream to seq_domain_mct (Rob)
  • put in area correction factors in sequential driver (Rob)

Code clean-up

  • Merge seq_mct_mod and cpl_mct_mod into shr_mct_mod (Rob) - <del>create shr_scrip_mod for shared reading of Scrip files.</del> Put shared reading routine in mct_mod. Use Tony's latest low-memory read. (Rob) <font color=red>DONE
    Data models
  • create parallel versions of all data components (Brian K)
  • create sequential interface of all parallel components to sequential driver (Mariana)
  • put in capability into cpl6 for all components to run on same grid (to compare to stand-alone cam sequential implementation) (Brian K)
  • put in parallel io into datm7 (needed for bgc spin-up) (Tony)

!! Sequential CCSM-dead User's Guide

  1. Check out code: svn co $SVNREPO/dead7/trunk dead7_wc
  2. Make a build and run directory
  3. execute ~dead7_wc/bld/configure from the build directory.
  4. type "make"
  5. copy the executable to your in run directory.
  6. copy all the _in files from dead7_wc/bld to your run directory
  7. Run the model.
    For different resolutions
    7. copy the dead7_wc/bld/seq_maps.rc file to your run directory.
    8. edit the _in files to change the resolution of the ocean/ice or atm/lnd.
    9. edit seq_maps.rc to point to the correct mapping files (example is for a T31_gxv3 case)
    10. Run the model.
  • No labels