#!/bin/csh #set verbose cd ${datapath2} setenv OMP_NUM_THREADS 1 setenv MEMORY_AFFINITY MCM setenv BIND_TASKS yes setenv MP_PULSE 0 setenv MP_SHARED_MEMORY yes setenv MP_BULK_MIN_MSG_SIZE 10k setenv MP_USE_BULK_XFER yes setenv XLSMPOPTS "parthds=1:stack=128000000" setenv XLFRTEOPTS "nlwidth=80" setenv MP_LABELIO yes @ nanalsp1 = $nanals + 1 echo "nanalsp1=",$nanalsp1 echo $enkfbin cat <! enkf.nml &nam_enkf datestring="$analdate",datapath="$datapath2",random_partition=$random_partition, analpertwtnh=$analpertwtnh,analpertwtsh=$analpertwtsh,analpertwttr=$analpertwttr, simple_partition=$simple_partition,ntrac_update=$ntrac_update, covinflatemax=$covinflatemax,covinflatemin=$covinflatemin,pseudo_rh=$pseudo_rh, corrlengthnh=$corrlengthnh,corrlengthsh=$corrlengthsh,corrlengthtr=$corrlengthtr, obtimelnh=$obtimelnh,obtimelsh=$obtimelsh,obtimeltr=$obtimeltr,iassim_order=$iassim_order, lnsigcutoffnh=$lnsigcutoffnh,lnsigcutoffsh=$lnsigcutoffsh,lnsigcutofftr=$lnsigcutofftr, lnsigcutoffsatnh=$lnsigcutoffsatnh,lnsigcutoffsatsh=$lnsigcutoffsatsh,lnsigcutoffsattr=$lnsigcutoffsattr, lnsigcutoffpsnh=$lnsigcutoffpsnh,lnsigcutoffpssh=$lnsigcutoffpssh,lnsigcutoffpstr=$lnsigcutoffpstr, use_height=$use_height,saterrfact=$saterrfact,numiter=$numiter, sprd_tol=$sprd_tol,paoverpb_thresh=$paoverpb_thresh, npts=$npts,nlevs=$LEVS,nanals=$nanals,ntrac=$NTRAC,nvars=$nvars,deterministic=$deterministic, sortinc=$sortinc / &END EOF1 cat enkf.nml # check to see if output files already created. set nanal=1 set filemissing='no' while ($nanal <= $nanals) set charnanal="mem"`printf %03i $nanal` set analfile="${datapath2}/ganl_${analdate}_${charnanal}" if { /bin/test ! -s $analfile } set filemissing='yes' @ nanal = $nanal + 1 end if { /bin/test ! -s $ABIAS } set filemissing='yes' if ($filemissing == 'yes') then ## Run EnKF here poe $enkfbin /bin/cp ${datapath2}/satbias_out ${datapath2}/abias /bin/cp ${datapath2}/satbias_out $ABIAS endif # compute ensemble mean analysis files. time ${enkfexec}/getsigensmean.x ${datapath2}/ sanl_${analdate}_ensmean sanl_${analdate} ${nanals} cd ${enkfscripts} /global/save/wx20kd/python/Python-2.5.1-32/bin/python test.py 450 $nanals >&! ${datapath2}/sigpairs.dat cd ${datapath2} if ($scalefact == 0) then echo "NO INFLATION NECESSARY" else echo "CALL ADDERRSPEC_NMC TO ADD NMC-BASED INFLATION TO ENSEMBLE" poe ${enkfexec}/adderrspec_nmcmeth.x $nanals $analdate $LONA $LATA $scalefact $addpertpath $lonscramble $runprefix # recenter perturbed ensemble on original mean time ${enkfexec}/getsigensmean.x ${datapath2}/ sanlp_${analdate}_ensmean sanl_${analdate} ${nanals} set filename_meanin=${datapath2}/sanlp_${analdate}_ensmean set filename_meanout=${datapath2}/sanl_${analdate}_ensmean set filenamein="${datapath2}/sanl_${analdate}" set filenameout="${datapath2}/sanl_${analdate}" poe ${enkfexec}/recentersigp.x $filenamein $filename_meanin $filename_meanout $filenameout $nanals endif # check output files again. set nanal=1 set filemissing='no' while ($nanal <= $nanals) set charnanal="mem"`printf %03i $nanal` set analfile="${datapath2}/sanl_${analdate}_${charnanal}" if { /bin/test ! -s $analfile } set filemissing='yes' @ nanal = $nanal + 1 end if ($filemissing == 'yes') then echo "there are output files missing!" exit 1 else echo "all output files seem OK" exit 0 endif