#!/bin/sh # NOTE: To ensure reproducible results, must use same number of # MPI tasks AND nodes for each run. blocking=unlimited # leads to roundoff differences in mpi_allreduce. ## Below are LoadLeveler (IBM queueing system) commands #@ job_name=gsi_twodvar #@ error=gsi_twodvar.e$(jobid) #@ job_type=parallel #@ network.MPI=csss,shared,us #@ node = 1 #@ node_usage=not_shared #@ tasks_per_node=16 ##@ total_tasks=12 ##@ blocking=unlimited ##@ resources = consumablecpus(1) consumablememory(1200 MB) #@ bulkxfer=yes #@ class= dev #@ group=devonprod #@ account_no = RTMA-T2O #@ wall_clock_limit = 0:24:00 #@ startdate = 10/27/05 20:00 #@ notification=error #@ queue set -x # Set environment variables for NCEP IBM export MP_SHARED_MEMORY=yes export MEMORY_AFFINITY=MCM export BIND_TASKS=yes # Set environment variables for threads export SPINLOOPTIME=10000 export YIELDLOOPTIME=40000 export AIXTHREAD_SCOPE=S export MALLOCMULTIHEAP=true export XLSMPOPTS="parthds=1:spins=0:yields=0:stack=128000000" # Set environment variables for user preferences export XLFRTEOPTS="nlwidth=80" export MP_LABELIO=yes # Variables for debugging (don't always need) ##export XLFRTEOPTS="buffering=disable_all" ##export MP_COREFILE_FORMAT=lite # Set experiment name and analysis date exp=rtma_control_final adate=2005061700 # Set path/file for gsi executable # Set resoltion and other dependent parameters export JCAP=62 export LEVS=60 export DELTIM=1200 # Set runtime and save directories tmpdir=/ptmp/$LOGNAME/tmpreg_2d_binary/$exp # Set variables used in script # CLEAN up $tmpdir when finished (YES=remove, NO=leave alone) # ndate is a date manipulation utility # ncp is cp replacement, currently keep as /bin/cp CLEAN=YES ndate=/nwprod/util/exec/ndate ncp=/bin/cp # Set up $tmpdir rm -rf $tmpdir mkdir -p $tmpdir cd $tmpdir rm -rf core* # miter=2,niter(1)=50,niter(2)=50 # miter=1,niter(1)=10,niter(2)=50 # Make gsi namelist cat << EOF > gsiparm.anl &SETUP miter=2,niter(1)=50,niter(2)=50 write_diag(1)=.true.,write_diag(2)=.true.,write_diag(3)=.true., gencode=78,qoption=1, factqmin=0.0,factqmax=0.0,deltim=$DELTIM, ndat=5,iguess=-1, oneobtest=.false.,retrieval=.false., diag_rad=.false.,diag_pcp=.false.,diag_ozone=.false., nhr_assimilation=3, / &GRIDOPTS JCAP=$JCAP,NLAT=$NLAT,NLON=$LONA,nsig=$LEVS,hybrid=.true., wrf_nmm_regional=.false.,wrf_mass_regional=.false.,twodvar_regional=.true., diagnostic_reg=.false., filled_grid=.false.,half_grid=.true.,netcdf=.false., / &BKGERR as=0.35,0.35,0.35,0.50,0.50,0.80,1.00,1.00, hzscl=1.414,1.000,0.707, vs=0.5,bw=0.0, / &ANBKGERR anisotropic=.true.,an_vs=0.5,ngauss=1 an_flen_u=-5.,an_flen_t=3.,an_flen_z=-200., ifilt_ord=2,npass=3,normal=-200,grid_ratio=1.,nord_f2a=4, / &JCOPTS jcterm=.false.,jcdivt=.false.,bamp_ext1=1.0e6,bamp_ext2=1.0e6, bamp_int1=1.0e5, bamp_int2=1.0e4 / &STRONGOPTS jcstrong=.false.,jcstrong_option=3,nstrong=1,nvmodes_keep=20,period_max=3., baldiag_full=.true.,baldiag_inc=.true., / &OBSQC dfact=0.75,dfact1=3.0,noiqc=.false.,perturb_obs=.false.,oberrflg=.false., perturb_fact=0.1,c_varqc=0.02,vadfile='prepbufr', / &OBS_INPUT dmesh(1)=60.0,dmesh(2)=60.0,dmesh(3)=60.0,dmesh(4)=60.0,time_window_max=1.5, dfile(01)='prepbufr', dtype(01)='ps', dplat(01)=' ', dsis(01)='ps', dval(01)=1.0, dthin(01)=0, dfile(02)='prepbufr' dtype(02)='t', dplat(02)=' ', dsis(02)='t', dval(02)=1.0, dthin(02)=0, dfile(03)='prepbufr', dtype(03)='q', dplat(03)=' ', dsis(03)='q', dval(03)=1.0, dthin(03)=0, dfile(04)='prepbufr', dtype(04)='uv', dplat(04)=' ', dsis(04)='uv', dval(04)=1.0, dthin(04)=0, dfile(05)='prepbufr', dtype(05)='spd', dplat(05)=' ', dsis(05)='spd', dval(05)=1.0, dthin(05)=0, / &SUPEROB_RADAR / &SINGLEOB_TEST maginnov=0.1,magoberr=0.1,oneob_type='t', oblat=36.,oblon=260.,obpres=1000.,obdattim=${adate}, obhourset=0., / EOF # Copy executable and fixed files to $tmpdir testdir0=/meso/noscrub/wx23dp/rtma_test/rtma_2008012318 testdir=/meso/noscrub/wx23dp/rtma_test/tmpreg #$ncp $testdir/gsi.x . $ncp /meso/save/wx23dp/gsi_anl/sorc/rtma_subdomain_option_20080227/gsi_anl_control ./gsi.x ln -sf $testdir/berror_stats ./berror_stats ln -sf $testdir/convinfo ./convinfo ln -sf $testdir/errtable ./errtable ln -sf $testdir/mesonetuselist ./mesonetuselist ln -sf $testdir/mesonet_stnuselist ./mesonet_stnuselist ln -sf $testdir/rtma_slmask.dat ./rtma_slmask.dat ln -sf $testdir/rtma_terrain.dat ./rtma_terrain.dat ln -sf $testdir/prepobs_prep.bufrtable ./prepobs_prep.bufrtable # Copy observational data to $tmpdir ln -sf $testdir/prepbufr ./prepbufr ln -sf $testdir/gridname_input . # Copy first guess $ncp $testdir0/twodvar_input_bi ./wrf_inout #ln -sf $testdir/filtnorm.dat_chi ./filtnorm.dat_chi #ln -sf $testdir/filtnorm.dat_ist ./filtnorm.dat_ist #ln -sf $testdir/filtnorm.dat_ps ./filtnorm.dat_ps #ln -sf $testdir/filtnorm.dat_lst ./filtnorm.dat_lst #ln -sf $testdir/filtnorm.dat_oz ./filtnorm.dat_oz #ln -sf $testdir/filtnorm.dat_pseudorh ./filtnorm.dat_pseudorh #ln -sf $testdir/filtnorm.dat_psi ./filtnorm.dat_psi #ln -sf $testdir/filtnorm.dat_qw ./filtnorm.dat_qw #ln -sf $testdir/filtnorm.dat_sst ./filtnorm.dat_sst #ln -sf $testdir/filtnorm.dat_t ./filtnorm.dat_t # Run gsi under Parallel Operating Environment (poe) on NCEP IBM ##poe hpmcount $tmpdir/gsi.x < gsiparm.anl > stdout poe hpmcount $tmpdir/gsi.x < gsiparm.anl > stdout rc=$? /meso/save/wx20pm/bin/gradout_2dvar_all sigf03 control_ges /meso/save/wx20pm/bin/gradout_2dvar_all siganl control_anl rm grad* rm -rf dir.* exit