CCM3.6 on es6000; Beginner


Subject: CCM3.6 on es6000; Beginner
From: Wei Gong (gong@climate.cestm.albany.edu)
Date: Wed Nov 04 1998 - 16:13:46 MST


Hi, all,

I tried to run the T42 example of CCM3.6 on es6000 (Sun SUNOS; 16 CPUs). Follow the instruction, I did the following steps (I only modified "build.noncray.csh"):

(1) download "ccm3.6.code.tar.gz" and "ccm3.6.datasets.tar" from CCM3 home page to "/esdata3/gong/CCM3_1/"

(2) gunzip ccm3.6.code.tar.gz

(3) tar -xvf ccm3.6.code.tar

I got four directives: "bld", "doc", "src", and "tools" under directive "/esdata3/gong/CCM3_1/ccm/".

(4) (in "/esdata3/gong/CCM3_1/ccm") mkdir data; cd data; tar -xvf ccm3.6.datasets.tar

I got several initial and boundary files in "/esdata3/gong/CCM3_1/ccm/data"

(5) download "netcdf software" from CCM3 home page and install it on "/esdata3/gong/CCM3_1/netcdf-3.4/"

(6) cd /esdata3/gong/CCM3_1/ccm/bld; edit "build.noncray.csh" (I attached my version of "build.noncray.csh". I use "!!!" to indicate which lines have been modified). Please note that in "build.noncray.gw.csh" the "/usr/local/bin/make" is the "gnumake".

(7) /esdata3/gong/CCM3_1/ccm/bld/build.noncray.csh
 
Then, I got:

**************************************************************************
BUILDING CCM3 WITH THE FOLLOWING OPTIONS
========================================
Target Machine : SUN
Dynamics : eul
Ocean config : dom
Buffers incore : TRUE
Initial dataset : SEP1.T42.0198.nc
SST Dataset : T42M5079.nc
Ozone Dataset : ozn.0596.r8.nc
LSM Dataset : arbitrary initialization
Number of Longitudes: 128
Number of Latitudes : 64
Number of tracers : 1
Spectral truncation : 42, 42, 42
creating Filepath
No match
No match
No match
No match
No match
No match
Create new params.h
Create new preproc.h
Create new misc.h
Compiling CCM ... see /esdata3/gong/CCM3_1/ccm/run/compile_log.atm for log
**************************************************************************

I also attach the error message in "/esdata3/gong/CCM3_1/ccm/run/compile_log.atm".

Thank you very much for your help.

Wei Gong

Encl 1: ccm/run/compile_log.atm

*************************************************************************
/esdata3/gong/CCM3_1/ccm/src/../bld/Makefile:247: no file name for `-include'
f77 -o /esdata3/gong/CCM3_1/ccm/run/atm -L/esdata3/gong/CCM3_1/netcdf-3.4/lib -lnetcdf
Undefined first referenced
 symbol in file
main /opt/SUNWspro/SC4.2/lib/crt1.o
ld: fatal: Symbol referencing errors. No output written to /esdata3/gong/CCM3_1/ccm/run/atm
make: *** [/esdata3/gong/CCM3_1/ccm/run/atm] Error 1
*************************************************************************

Encl 2.: My build.noncray.csh

*************************************************************************
#!/bin/csh -f
setenv MODEL_EXEDIR /esdata3/gong/CCM3_1/ccm/run !!!
setenv MODEL_SRCDIR /esdata3/gong/CCM3_1/ccm/src !!!
setenv MODEL_DATDIR /esdata3/gong/CCM3_1/ccm/data !!!

if !(-d $MODEL_DATDIR) mkdir -p $MODEL_DATDIR
if !(-d $MODEL_EXEDIR) mkdir -p $MODEL_EXEDIR; cd $MODEL_EXEDIR;
if !(-d obj) mkdir obj ; cd obj

setenv CPU SUN !!!
setenv LIB_NETCDF /esdata3/gong/CCM3_1/netcdf-3.4/lib !!!
setenv INC_NETCDF /esdata3/gong/CCM3_1/netcdf-3.4/include !!!
setenv MAXCPUS 4 !!!

setenv PLON 128
setenv PLAT 64
setenv PLEV 18
setenv PTRM 42
setenv PTRN 42
setenv PTRK 42
setenv PCNST 1

setenv DYNAMICS eul
setenv OCEAN dom

set DATINI = SEP1.T42.0198.nc # CCM3 initial data
set DATSST = T42M5079.nc # sst data
set DATOZN = ozn.0596.r8.nc # ozone data

set DATLSM = 'arbitrary initialization' # LSM initial data

cd $MODEL_EXEDIR
cat >! atm.parm << EOF
 \$CCMEXP
 caseid = 'ccm3bld'
 datadir = '$MODEL_DATDIR'
 ncdata = '$DATINI'
 bndtvs = '$DATSST'
 bndtvo = '$DATOZN'
 incorbuf = .TRUE.
 incorhst = .TRUE.
 incorrad = .TRUE.
 iradsw = -1
 iradlw = -1
 iradae = -12
 dtime = 1200.
 nestep = -1
 irt = 0
 iyear_ad = 1950
 \$
 \$lsmexp
 datadir = '$MODEL_DATDIR'
 finidat = '$DATLSM'
 \$

EOF

echo
echo "BUILDING CCM3 WITH THE FOLLOWING OPTIONS"
echo "========================================"
echo "Target Machine : $CPU"
echo "Dynamics : $DYNAMICS"
echo "Ocean config : $OCEAN"
echo "Buffers incore : TRUE"
echo "Initial dataset : $DATINI"
echo "SST Dataset : $DATSST"
echo "Ozone Dataset : $DATOZN"
echo "LSM Dataset : $DATLSM"
echo "Number of Longitudes: $PLON"
echo "Number of Latitudes : $PLAT"
echo "Number of tracers : $PCNST"
echo "Spectral truncation : $PTRM, $PTRN, $PTRK"
echo

cd $MODEL_EXEDIR
set FN = obj/Filepath
cat >! tmp << EOF
$MODEL_SRCDIR/control
$MODEL_SRCDIR/dynamics
$MODEL_SRCDIR/dynamics/$DYNAMICS
$MODEL_SRCDIR/$OCEAN
$MODEL_SRCDIR/physics
$MODEL_SRCDIR/csm_share
$MODEL_SRCDIR/ccmlsm_share
$MODEL_SRCDIR/lsm
$MODEL_SRCDIR/mathutil
$MODEL_SRCDIR/srchutil
EOF
cmp -s $FN tmp
if ( $status != 0 )then
  if ( -e Filepath ) then
     echo "Filepath changed, removing all files except Filepath"
  else
     echo "creating Filepath"
  endif
  \rm $MODEL_EXEDIR/obj/[A-Z]*.o
  \rm $MODEL_EXEDIR/obj/[a-l]*.o
  \rm $MODEL_EXEDIR/obj/[m-z]*.o
  \rm $MODEL_EXEDIR/obj/[A-Z]*.d
  \rm $MODEL_EXEDIR/obj/[a-l]*.d
  \rm $MODEL_EXEDIR/obj/[m-z]*.d
  mv -f tmp $FN
else
  echo "Use previous $FN"
  \rm tmp
endif
cd $MODEL_EXEDIR/obj
set FN = params.h
cat >! tmp << EOF
#ifndef PARAMS_SET
#define PARAMS_SET
#define PNATS 0
#define POZLEV 23
#define PCNST $PCNST

#define PLEV $PLEV
#define PLEVR $PLEV
#define PLON $PLON
#define PLAT $PLAT
#define PTRM $PTRM
#define PTRN $PTRN
#define PTRK $PTRK
#endif
EOF
cmp -s $FN tmp
if ( $status != 0 )then
  echo "Create new $FN"
  mv -f tmp $FN
else
  echo "Use previous $FN"
  \rm tmp
endif

if ( $OCEAN == 'dom' ) then
  set coup_som = '#undef COUP_SOM'
endif
if ( $OCEAN == 'som' ) then
  set coup_som = '#define COUP_SOM'
endif

cd $MODEL_EXEDIR/obj
set FN = misc.h
cat >! tmp << EOF
#ifndef MISC_SET
#define MISC_SET
#define $CPU
#undef PVP
#define REALTYPE MPI_DOUBLE_PRECISION
$coup_som
#undef COUP_CSM
#define NCPREC NF_FLOAT
#define SHELL_MSS
#define FORTFFT
#undef SPMD
#endif
EOF

cmp -s $FN tmp
if ( $status != 0 )then
  echo "Create new $FN"
  mv -f tmp $FN
else
  echo "Use previous $FN"
  \rm tmp
endif

cd $MODEL_EXEDIR/obj

echo "Compiling CCM ... see $MODEL_EXEDIR/compile_log.atm for log"
echo

touch $MODEL_EXEDIR/compile_log.atm
echo '------------------------------------------------------------------' >>& $MODEL_EXEDIR/compile_log.atm
date >>& $MODEL_EXEDIR/compile_log.atm
echo '------------------------------------------------------------------' >>& $MODEL_EXEDIR/compile_log.atm

/usr/local/bin/make -j4 -e -f $MODEL_SRCDIR/../bld/Makefile >>& $MODEL_EXEDIR/compile_log.atm || exit 3 !!!

echo 'Running CCM ... '
echo

cd $MODEL_EXEDIR
env MP_SET_NUMTHREADS=$MAXCPUS atm < atm.parm >&! atm.log.$$

echo "CCM Finished - see atm.log.$$ for log"
echo



This archive was generated by hypermail 2b27 : Thu Jun 01 2000 - 09:07:13 MDT