There are three steps in running this modified version of CAM3.0_p1: 1. Make a control run (say, for example, 10 years) 2. Use the monthly mean history tapes from (1) to construct a new annual cycle USTAR, which is the average over the 10 years 3. Run the model with "ustarcyc = .true." specified in the namelist along with a specified file containing the annual cycle USTAR fields. To accomplish (1): a. Get /MAI/tar/cam3.0_p1_ustar.tar from the NCAR MSS. Untar it in a permanent directory. (You will need about 450 MB of disk space.) b. % cd cam1/models/atm/cam/bld c. Edit one of the job scripts run-*.csh or make your own. Note that I do not use the "build-namelist" facility, but rather just put the namelist in the script so I can see everything that is in it. See run-ibm.csh for an example namelist for a control run. Things you will want to change in the namelist: (1) All of the file pathnames (2) caseid (this is as part of the output filenames) (3) nelapse (length of the run in days if negative) (4) nsrest (should be 0 unless you are doing a restart) (5) mss_irt (omit; probably meaningless on your system) (6) mss_wpass (omit; probably meaningless on your system) There are many optional changes. Among them: (1) If "ustarcyc = .false." in the namelist, then bndtvu is not referenced in the program and may be omitted. (Omitting this specification may avoid some confusion when doing a control run.) (2) You will probably want to change the history tape output, so you may need to re-set the namelist specifiers finclN, mfilt, nhtfrq and possibly others. d. Run the model. To accomplish (2): run tempest:svn/CAM3.0/anncycmm.unx To accomplish (3): a. Change "ustarcyc = .false." to "ustarcyc = .true." in the namelist. b. Specify the file output in (2) in the "bndtvu" specification. c. Run the model. This will cycle through the climatological USTAR fields as the model integrates forward in time. Currently things are set up in (1),(2),(3) to (1) save the USTAR field every six hours (so four times per day) along with the monthly means, (2) make a climatological USTAR file with monthly mean USTAR fields (hence, 12 fields), and (3) at each time step linearly interpolate between two of the 12 specified USTAR fields when cycling through the specified USTARs. All changes to the original source code are marked with my initials in uppercase ("AWM"). Here is a complete list of routines with line numbers where changes begin: physics/cam1/turbulence.F90:244: ! ..Commented out by AWM (see ocnsice/som/ocn_srf.F90 - SUBROUTINE MIXED_LAYER1) (4/19/2005 2.) control/comctl.h:12: common /comctl/ aeres ,ozncyc ,sstcyc ,icecyc ,ustarcyc ! USTARCYC added by AWM (7/1/2005) control/comctl.h:50: logical ustarcyc ! true => overwrite calc USTAR with cyclic USTAR dataset (7/1/2005 AWM) control/comlun.h:10: common /comlun/ ncid_ini,ncid_oz ,ncid_sst, ncid_ust, ncid_trc ! ncid_ust added by AWM (4/22/2005) control/comlun.h:20: integer ncid_ust ! USTAR dataset added by AWM (4/22/2005) control/filenames.F90:40: character(shr_kind_cl), public :: bndtvu = 'bndtvu' ! full pathname for time-variant ustar dataset (AWM 4/22/2005 2.) control/initext.F90:29: use filenames, only: bndtvo, bndtvs, bndtvu ! ..Added bndtvu (AWM 4/22/2005 2.) control/initext.F90:107: ! ..Get USTAR data file and open it (AWM 4/22/2005 2.) control/runtime_opts.F90:38: ! ..Added bndtvu (AWM 4/22/2005 2.) control/runtime_opts.F90:95: ! dataset for USTARs. (Added by AWM) control/runtime_opts.F90:440: ! read in fixed cyclic USTAR based on control (7/1/2005 AWM) control/runtime_opts.F90:694: ! ..Added BNDTVU (4/22/2005 2.) and USTARCYC (7/1/2005) AWM control/runtime_opts.F90:1145: write(6,*)'Time-variant boundary dataset (ustar) is: ', trim(bndtvu) ! AWM (4/22/2005 2.) control/runtime_opts.F90:1245: if (ustarcyc) then ! (7/1/2005 AWM) control/runtime_opts.F90:1462: call mpibcast (ustarcyc ,1,mpilog,0,mpicom) ! (7/1/2005 AWM) control/runtime_opts.F90:1476: call mpibcast (bndtvu ,len(bndtvu) ,mpichar,0,mpicom) ! (AWM 4/22/2005 2.) control/runtime_opts.F90:1666: ustarcyc = .false. ! (7/1/2005 AWM) control/runtime_opts.F90:1737: ncid_ust = -1 ! added by AWM (4/22/2005) ocnsice/som/flxoce.F90:7: lwup ,tref ,ustrc , ustarspec )! AWM added USTRC and USTARSPEC (4/19/2005 2.)(4/22/2005 2.) ocnsice/som/flxoce.F90:38: use time_manager, only: get_nstep ! (AWM 4/22/2005 2.) ocnsice/som/flxoce.F90:39: use abortutils, only: endrun ! (AWM 4/22/2005 2.) ocnsice/som/flxoce.F90:66: real(r8), intent(inout) :: ustrc(pcols)! save USTAR (AWM 4/19/2005 2.) ocnsice/som/flxoce.F90:67: real(r8), intent(inout) :: ustarspec(pcols)! specified USTAR (AWM 4/22/2005 2.) ocnsice/som/flxoce.F90:71: integer i,ii,nstep ! column indices (NSTEP added by AWM 4/22/2005 2.) ocnsice/som/flxoce.F90:233: ustar = ustarspec(i) ! overwrite calc USTAR (AWM 6/2/2005 2.) ocnsice/som/flxoce.F90:234: ustrc(i) = ustar ! save USTAR (AWM 4/19/2005 2. and 6/2/2005 2.) ocnsice/som/flxoce.F90:236: ! ..Check that values read in match computed values of USTAR (AWM 4/22/2005 2.) ocnsice/som/flxoce.F90:393: ustrc(i) = ustar ! save USTAR (AWM 4/19/2005 2. and 6/2/2005 2.) ocnsice/som/flxoce.F90:395: ! ..Check that values read in match computed values of USTAR (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:13: integer, parameter :: putime = 12 ! AWM (4/22/2005 2.) ocnsice/som/ocean_data.F90:19: ! real(r8), allocatable :: ustardat(:,:,:) ! all specified USTAR fields (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:20: real(r8), allocatable :: ustarm(:,:,:) ! chunks of ustardat (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:21: real(r8), allocatable :: ustarspec(:,:)! chunks of interpolated USTAR for current time step (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:27: real(r8) :: ustardat(plon,plat) = inf ! workspace to read in specified USTAR (AWM 6/2/2005 2.) ocnsice/som/ocean_data.F90:28: real(r8) :: utime(putime) = inf ! time dimension of specified USTAR fields (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:34: integer :: nustar = 1 ! Array index for whole USTAR data array (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:35: integer :: nmustar = 1 ! Array index for prv time slice ustar data (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:36: integer :: npustar = 2 ! Array index for nxt time slice ustar data (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:39: integer :: ustarid = bigint ! netcdf id for specified USTAR (AWM 6/2/2005 2.) ocnsice/som/ocean_data.F90:46: integer :: utimesiz = bigint ! size of time dimension on specified USTAR (AWM 4/22/2005 2.) ocnsice/som/ocean_data.F90:58: ! allocate (ustardat(plon,plat,putime)) ! AWM (4/22/2005 2.) ocnsice/som/ocean_data.F90:59: allocate (ustarm(pcols,begchunk:endchunk,2)) ! AWM (4/22/2005 2.) ocnsice/som/ocean_data.F90:60: allocate (ustarspec(pcols,begchunk:endchunk)) ! AWM (4/22/2005 2.) ocnsice/som/ocean_data.F90:67: ! ustardat(:,:,:) = inf ! AWM (4/22/2005 2.) ocnsice/som/ocean_data.F90:68: ustardat(:,:) = inf ! AWM (6/2/2005 2.) ocnsice/som/ocean_data.F90:69: ustarm(:,:,:) = inf ! AWM (4/22/2005 2.) ocnsice/som/ocean_data.F90:70: ustarspec(:,:) = inf ! AWM (4/22/2005 2.) ocnsice/som/ocn_srf.F90:11: ! USTARSPEC added to argument list above by AWM (4/22/2005 2.) ocnsice/som/ocn_srf.F90:53: real(r8), intent(in) :: ustarspec(pcols)! specified USTAR (AWM 4/22/2005 2.) ocnsice/som/ocn_srf.F90:105: ! (see physics/cam1/turbulence.F90 - SUBROUTINE TRBINTR) (AWM 4/19/2005 2.) ocnsice/som/ocn_srf.F90:143: ustar(:) = -1. ! added by AWM (4/19/2005 2.) ocnsice/som/ocn_srf.F90:156: lwup, tref, ustar, ustarspec) ! AWM added USTAR and USTARSPEC (4/19/2005 2.)(4/22/2005 2.) ocnsice/som/ocn_srf.F90:259: ! ..Added by AWM (4/19/2005 2.) to save USTAR ocnsice/som/somini.F90:11: ! Modified by AWM (4/22/2005 2.) to read USTAR fields comprising one ocnsice/som/somini.F90:74: integer istat,utimedimid,utimevarid ! stuff to get USTAR from a file (AWM 4/22/2005 2.) ocnsice/som/somini.F90:124: ! ..Check length of time dimension for specified USTAR (AWM 4/22/2005 2.) ocnsice/som/somini.F90:133: call wrap_inq_varid (ncid_ust, 'USTAR', ustarid) ! added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:177: ! ..Get specified USTAR and scatter (AWM 4/22/2005 2.) ocnsice/som/somini.F90:202: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:210: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:218: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:226: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:253: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:260: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:268: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somini.F90:275: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somint.F90:35: ! use time_manager, only: get_nstep ! AWM (4/22/2005 2.) ocnsice/som/somint.F90:112: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somint.F90:120: if (ustarcyc) then ! (6/2/2005 2.)(7/1/2005) AWM ocnsice/som/somint.F90:142: ! ..Added by AWM (6/2/2005 2.) ocnsice/som/somint.F90:155: ! ..Scatter next USTAR (AWM 4/22/2005 2.) This needs to be fixed up to index the correct USTARdat field ocnsice/som/somoce.F90:23: use ocean_data, only: qflux, ustarspec, mld ! USTARSPEC added (AWM 4/22/2005 2.) ocnsice/som/somoce.F90:110: ! ..AWM added argument USTARSPEC(1,C) (4/22/2005 2.)