The only configuration difference between building CCSM for CAM/HOMME compared to POP is the export statements at the beginning of the build process.

Setup the environment:

export COMPSET=C
export RES=T31_g37
export MACH=generic_linux_intel
export CCSMROOT=/home/bmayer/ccsm_port/ccsm4_0
export CASE=POPbm
export CASEROOT=/home/bmayer/ccsm_port/dcs_port/POPbm
export EXEROOT=/home/bmayer/ccsm_port/dcs_port/exe
export RUNDIR=$EXEROOT/run

Create the test case:

cd $CCSMROOT/scripts
./create_newcase -case $CASEROOT -mach $MACH -compset $COMPSET -res $RES -scratchroot /ptmp/scratch -din_loc_root_csmdata /ptmp/ccsm_data -max_tasks_per_node <Tasks per node>
cd $CASEROOT

Setup machine specific variables:

edit env_mach_specific and update INTEL_PATH, MPICH_PATH, PATH, LD_LIBRARY_PATH.
edit Macros.generic_linux_intel and update FC, CC, NETCDF_PATH, MPICH_PATH, MPI_LIB_NAME.
edit env_mach_pes.xml Modify NTASKS_* to have tasks the number of cores that the test node has.

Lock the configure files and build the test case:

./configure -case
./$CASE.$MACH.build
Edit env_run.xml and modify STOP_N so the value is 20.

To run:

./$CASE.$MACH.run

After running the model the timing results will be in the sub-directory "timing" in a file which starts with "ccsm_timing.POPbm.". Running:

grep TOT timing/ccsm_timing.POPbm.*

will report the total run time for each of the completed POP runs.