CCSM4 porting process


NOTE: all resolutions, compsets, and run lengths recommended
here are subject to change as CCSM priorities change or at the
discretion of the "port-person" in order to fit reasonably on the machine
for memory and/or low/high performance platforms.

1) Subversion


Get subversion working if available.  No requirement.

2) Input Datasets


Move required input datasets for testing (or do this as needed
during porting exercise).  Can we make this easier via dataset
tracking, automatic scp of required datasets in prestaging, using
an ESG or inputdata tar files?  No requirement for moving
specific datasets except lets try to what's moved in a shared inputdata
area so they can be easily reused.

3) Initial Port


Setup initial *.newmach files in ccsm_utils/Machines
Use create_newcase to get some initial cases working
via use of configure, building interactively, and submitting jobs.
this is not required but is a recommended step as it's easier to
modify the scripts and debug a case than a test.
No requirement here, just a recommended process.

For some notes on this applicable to most components, but tailored to clm see: Porting CLM4

4) Functionality Tests (required)


   ERS_D.f19_g16.X
   ERS_D.T31_g37.A
   ERS_D.f19_g16.B
   ERB.f19_g16.X
   ERB.T31_g37.A
   ERB.f19_g16.B
   ERS.f19_f19.F
   ERS.f19_g16.I
   ERS.T62_g16.C
   ERS.T62_g16.D
   ERT.f19_g16.B

   REP.f19_g16.B  (to be done "manually", an automated test doesn't exist)
     Run 2 one year runs (using the expected load-balanced configuration) as separate
     job submissions and verify that atmosphere history files are bfb (using cprnc) for 
     the last month.  This should be done after some performance testing is complete and 
     could also be combined with the production test by running the first year as a single
     run and the second year as a multi-submission production run.  This would
     test reproducibility, exact restart over the 1 year timescale, and production
     capability all in one test.  (And maybe the ERT test should be dropped).

5) Performance and Scaling (required)


- Perform scaling tests on the ERS.f19_g16.B case with production-like settings
  (longer runs, info_dbug off, monthly   avg hist files).
- Verify performance and scaling are reasonable
- Create one or two load balanced configurations to check
  into the pes_setup file for the new machine.  
- Review timing summaries for load balance and throughput.    
- Review coupler "daily" timing output for timing inconsistencies.

6) Validity Tests (required)


   cam error growth  (we need to do this easily out of a ccsm sandbox)
   clm error growth  (we need to do this easily out of a ccsm sandbox)
   1 or 2 day D case (for cice validation - to be defined by liaison)
   1 or 2 day C case (for pop2 validation - to be defined by liaison)

7) Production Test


Do a 3 month ERS.f19_g16.B case via 3 x 1 month long
runs using the RESUBMIT flag and turning short term archiving and long
term archiving on.  Review completion of 3 months and short/long term
archiving files.

8) Commit


Commit script changes and provide feedback to component liaisons if there
are any porting problems in component models.

9) Document


Document results on machine status page and add new entries in performance table.

10) THEN


Scientific validation