Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

how to use another SST data in CAM5?

Hi everyone,

I am a beginner of model.

I am running a forced experiment of CAM5 by varying the SST data.

According to Eaton's suggestion: http://forum.cgd.ucar.edu/showthread.php?1678-cam4-varying-SST-run-doesn-t-work and http://forum.cgd.ucar.edu/showthread.php?1878-How-to-use-another-specified-SST-data, I modified my build-namelist as follows:

$cfgdir/build-namelist -s -config $blddir/config_cache.xml -case $case -runtype $runtype
-namelist " &camexp stop_option='ndays', nhtfrq = 0, -6, mfilt = 1, 20, fincl2 = 'Q:I','U:I','V:I','T:I','Z3:I','PS:I','TS:I','PSL:I','LAN
DFRAC:I','TREFHT:I','PHIS:I','OMEGA:I','LHFLX','SHFLX','PRECC','PRECL',stop_n=$stop_n,bndtvs =' /glade/home/ygzhang/camdata/sst01/sst_HadOI
Bl_bc_1.9x2.5_clim_c061031.nc',sstcyc = .false.,stream_year_first = 0, stream_year_last = 0 /" || echo "build-namelist failed" && exit 1

But it doesn't work.

The error information:
0:(shr_sys_abort) ERROR: (shr_stream_getCalendar) ERROR: nf90_open file /glade/home/ygzhang/camdata/sst01/sst_HadOIBl_bc_1.9x2.5_clim_
c061031.nc
0:(shr_sys_abort) WARNING: calling shr_mpi_abort() and stopping
1:(shr_stream_set) size of filename = 1
1:(shr_stream_set) filename = /glade/home/ygzhang/camdata/sst01/sst_HadOIBl_bc_1.9x2.5_clim_c061031.nc

I appreciate any suggestion.



sst data: sst_HadOIBl_bc_1.9x2.5_clim_c061031.nc come from input data repository. I just want to test whether the command line is right or not.
 

eaton

CSEG and Liaisons
I can successfully run a test using a namelist generated by the build-namelist command that was posted. My test used the default cam5 configuration and a standalone script. How did you configure your test?
 

eaton

CSEG and Liaisons
I just looked at this again. This error message:

ERROR: (shr_stream_getCalendar)

makes me wonder whether the problem is with a missing "calendar" attribute in your sst dataset. The "time" variable in that file should look like the following when you do an ncdump:


Code:
double time(time) ;
                time:units = "days since 0000-01-01 00:00:00" ;
                time:calendar = "365_day" ;
 
Hi Eaton, Thank you very much for your reply.

SST data (sst_HadOIBl_bc_1.9x2.5_clim_c061031.nc) that I used in this test-run is downloaded from input data repository, so I think SST data is absolutely right.

Any other suggestion?

Thanks again.
Have a good National Day!

eaton said:
I just looked at this again. This error message:

ERROR: (shr_stream_getCalendar)

makes me wonder whether the problem is with a missing "calendar" attribute in your sst dataset. The "time" variable in that file should look like the following when you do an ncdump:


Code:
double time(time) ;
                time:units = "days since 0000-01-01 00:00:00" ;
                time:calendar = "365_day" ;
 

eaton

CSEG and Liaisons
I haven't been able to reproduce the problem. Post more details, in particular what source code version you're using, the configure command, the system and compiler, etc.
 
eaton said:
I haven't been able to reproduce the problem. Post more details, in particular what source code version you're using, the configure command, the system and compiler, etc.

Thanks a lot for your reply, Eaton.

I run this model (CESM1.0.4) in Bluefire.

#! /usr/bin/csh -f

##====================================================================
##
## run-ibm.csh
##
## Generic batch submission script for IBM-AIX using LSF.
##
##--------------------------------------------------------------------
## Usage for xlf compiler (default):
## bsub < run-forcing02.csh
##--------------------------------------------------------------------
##
## This is an example script to build and run the default CAM configuration
## on an IBM SP. The default configuration is 1.9*2.5L26, Finite-Volume
## dynamics, CLM2 land model, CICE ice model, and CAM data ocean model.
## Script will request 1 node to run with 16 MPI tasks and 4 SMP threads/tasks.
##
## Setting LSF options for batch queue submission.
#BSUB -P ****** # account number
#BSUB -W 0:10 # wall lock limit
#BSUB -n 32 # bluefire setting
#BSUB -R "span[ptile=16]" # bluefire setting
#BSUB -o out.%J # output filename
#BSUB -e out.%J # error filename
#BSUB -q regular # queue

## extract number of tasks from batch environment
## set ntasks = 'echo $LSB_HOSTS | wc -w'
set ntasks = 32

# should be set equal to (CPUs-per-node / tasks_per_node)
setenv OMP_NUM_THREADS 4

## suggestions from Jim Edwards 07/08
setenv XLSMPOPTS "stack=256000000"
setenv OMP_DYNAMIC false
setenv AIXTHREAD_SCOPE S
setenv MALLOCMULTIHEAP true
setenv MP_USE_BULK_XFER yes
setenv MP_LABELIO yes

## Do our best to get sufficient stack memory
limit stacksize unlimited
## netCDF stuff
setenv INC_NETCDF /usr/local/include
setenv LIB_NETCDF /usr/local/lib64/r4i4

## 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 camroot = /glade/home/ygzhang/cesm1_0_4/

## 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 /fs/cgd/csm/inputdata

## LOGNAME - used in default settings, must be set if not available
## setenv LOGNAME
if !($?LOGNAME) then
echo "LOGNAME not available for setting of defaults - setting must be added to this script"
exit 1
endif

## Default namelist settings:
## $case is the case identifier for this run. It will be placed in the namelist.
## $runtype is the run type: startup, continue, or branch.
## $stop_n is the number of days to integrate (units depend on stop_option)
set case = forcing08
set runtype = startup
## set runtype = continue
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 = /glade/scratch/$LOGNAME
set blddir = $wrkdir/$case/bld
set rundir = $wrkdir/$case
set cfgdir = $camroot/models/atm/cam/bld

## Ensure that run and build directories exist
mkdir -p $rundir || echo "cannot create $rundir" && exit 1
mkdir -p $blddir || echo "cannot create $blddir" && exit 1

## If an executable doesn't exist, build one.
if ( ! -x $blddir/cam ) then
cd $blddir || echo "cd $blddir failed" && exit 1
$cfgdir/configure -dyn fv -hgrid 1.9x2.5 -spmd -smp -ntasks $ntasks -nthreads $OMP_NUM_THREADS || echo "configure failed" && exit 1
echo "building CAM in $blddir ..."
rm -f Depends
gmake -j8 >&! MAKE.out || echo "CAM build failed: see $blddir/MAKE.out" && exit 1
endif

## Create the namelist
cd $rundir || echo "cd $rundir failed" && exit 1
$cfgdir/build-namelist -s -config $blddir/config_cache.xml -case $case -runtype $runtype
-namelist " &camexp stop_option='ndays', nhtfrq = 0, -6, mfilt = 1, 20, fincl2 = 'Q:I','U:I','V:I','T:I','Z3:I','PS:I','TS:I','PSL:I','LAN
DFRAC:I','TREFHT:I','PHIS:I','OMEGA:I','LHFLX','SHFLX','PRECC','PRECL',stop_n=$stop_n,bndtvs =' /glade/home/ygzhang/camdata/sst01/sst_HadOI
Bl_bc_1.9x2.5_all_oceans.nc' /" || echo "build-namelist failed" && exit 1

## Run CAM - use 'mpirun.lsf' on bluefire
echo "running CAM in $rundir"

#bluefire
mpirun.lsf /usr/local/bin/hybrid_launch $blddir/cam || echo "CAM run failed" && exit 1

exit 0

Thank you very much for your help!
 

eaton

CSEG and Liaisons
I have done this run on bluefire and once again am unable to reproduce the problem. The only thing I can suggest is to add the -debug option to your configure command to try and get more information about what the problem is.
 
Top