PORT is released as part of CESM1 or on any development branch since cam4_1_05.
Note that configure -rad_driver produces PORT rather than CAM. Under this configuration, the only CAM process that runs is CAM initializations and radiation.
Note the build_namelist which will read data from rad_drv_infile and produce a corresponding file rad_drv_case containing results of computing radiative transfer on atmosphere specified in rad_drv_infile. (If you are using the data generated by Create Data you will have 4 time samples of atmospheric state, and this run of PORT will create 4 time samples of heating rates and fluxes.)
Additional calls to radiation can be performed using the usual namelist specifications rad_diag_1 = ... as described in the CAM user's guide.
#! /bin/tcsh -f # set ntasks = 4 setenv USER_FC lf95 ##setenv USER_FC pgf90 setenv USER_CC gcc if ( $USER_FC == "lf95" ) then set NETCDF = /usr/local/netcdf-lf95 set mpich = /usr/local/mpich2-lf95 else if ( $USER_FC == "pgf90" ) then set NETCDF = /usr/local/netcdf-3.6.2-pgf90 set mpich = /usr/local/mpich2-pgf90 endif setenv INC_NETCDF ${NETCDF}/include setenv LIB_NETCDF ${NETCDF}/lib setenv MOD_NETCDF $INC_NETCDF setenv INC_MPI ${mpich}/include setenv LIB_MPI ${mpich}/lib setenv ${mpich}/bin:${PATH} setenv MPI_TYPE_MAX 100000 ## Do our best to get sufficient stack memory limit stacksize unlimited ## ROOT OF CAM DISTRIBUTION - probably needs to be customized. ## Contains the source code for the CAM distribution. ## (the root directory contains the subdirectory "models") set curdir = `pwd` set camroot = /path_to_cesm_with_tag_after/cesm1_0_rel_01_cam5_0_00 ## ROOT OF CAM DATA DISTRIBUTION - needs to be customized unless running at NCAR. ## Contains the initial and boundary data for the CAM distribution. ## (the root directory contains the subdirectories "atm" and "lnd") setenv CSMDATA /path_to_cam_inputdata/cam-in ## Default namelist settings: ## $case is the case identifier for this run. It will be placed in the namelist. ## $runtype is the run type: initial, restart, or branch. ## $nelapse is the number of timesteps to integrate, or number of days if negative. set case = RAD_DRVR set runtype = startup set stop_n = 1 ## $wrkdir is a working directory where the model will be built and run. ## $blddir is the directory where model will be compiled. ## $rundir is the directory where the model will be run. ## $cfgdir is the directory containing the CAM configuration scripts. set wrkdir = /data/$LOGNAME set blddir = $wrkdir/$case/bld set rundir = $wrkdir/$case set cfgdir = $camroot/models/atm/cam/bld rm $blddir/cam ## Ensureq that run and build directories exist mkdir -p $rundir/timing || echo "cannot create $rundir" && exit 1 mkdir -p $blddir || echo "cannot create $blddir" && exit 1 echo " " echo "before configure..." echo " " ## If an executable doesn't exist, build one. if ( ! -x $blddir/cam ) then cd $blddir || echo "cd $blddir failed" && exit 1 $cfgdir/configure \ -rad_driver \ -phys cam4 \ -fc $USER_FC \ -chem none \ -rad camrt\ -debug \ -spmd \ -nosmp \ -res 10x15 \ -dyn fv \ -ntasks $ntasks\ -ice csim4\ || echo "configure failed" && exit 1 echo " " echo "building CAM in $blddir ..." echo " " rm -f Depends /usr/bin/gmake -j4 >&! MAKE.out || echo "CAM build failed: see $blddir/MAKE.out" && exit 1 # rm -f *.o *.mod endif echo " " echo "build complete" echo " " ## Create the namelist cd $blddir || echo "cd $blddir failed" && exit 1 $cfgdir/build-namelist -case $case -runtype $runtype -d $rundir -ignore_ic_date -test \ -namelist "&camexp stop_n=$stop_n, stop_option='nsteps' \ iradsw = 1 \ iradlw = 1 \ iradae = 1 \ ndens=1,1,1,1,1,1\ nhtfrq = 0,1,1,1,1,1\ avgflag_pertape = 'A','I','I','I','I','I'\ mfilt = 1,100,100,100,100,100\ empty_htapes=.false.\ fincl3 = 'SOLIN', 'QRS', 'FSNS', 'FSNT','FSNSC', 'FSDSC',\ 'FSNTOA', 'FSUTOA', 'FSNTOAC', 'FSNTC', 'FSDSC', 'FSDS', 'SWCF',\ 'QRL', 'FLNS', 'FLDS', 'FLNT', 'LWCF', 'FLUT' ,'FLUTC', 'FLNTC', 'FLNSC', 'FLDSC'\ rad_drv_case = 'RAD_drv_test'\ rad_drv_infile = '/Location_of_offline_data_to_be_analyzed/RAD_BASE.cam2.h1.0000-01-01-00000.nc'\ rad_data_output = .true.\ start_ymd = 00000101\ / " || echo "build-namelist failed" && exit 1 #exit 0 ## Run CAM cd $rundir || echo "cd $rundir failed" && exit 1 echo "running CAM in $rundir..." mpirun -l -np $ntasks $blddir/cam || echo "CAM run failed" && exit 1