GSM-SSBC

General Information

  • Only for GSM (c.f. Yoshimura, K. and M. Kanamitsu, Dynamical global downscaling of global reanalysis, submitted to Mon. Wea. Rev.)
abstract:
  program nudges the Fourier coefficients of forecasted run ("fcst data")
  with those of reanalysis (or other external) run (called "base data").
  program starts with the conversion of spectrum base data to
  fourier series. this conversion is taken place in every 6 hours
  (nesthour). the base data is linearly interpolated for the time
  in between. the spectra of fcst data are also converted to
  fourier series.
  two kinds of fourier series are nudged with a weighting constant as,
   fnew=(1/(a+1))*(fold+a*fbase)
  for those with longer wavelength than lnest (e.g. 1000km)
  (for those with shorter, a=0).
  a can be variable, too (attenuating function).
  all of the variables, t,q,u,v,ps,gz can be nudged, but practically,
  ps,u,v and t should be nudged. instead, zonal q (the first coefficient
  of the fourier series) is replacable to that of the base data.

default setting:
  u,v,t,ps : nudging
  q        : zonal average replace
  n-scale  : 2000 km
  n-weight : attenuating function (indaa=1)

Specification

  • New codes/scripts/data
    • src/fcst/gloopn.F: main routine for scale-selective nudging.
      There are some versions for different nudging methods. Namely,
      • gloopn_Div.F : Only divergence component will be nudged.
      • gloopn_Vor.F : Only vorticity component will be nudged.
      • gloopn_diur.F : Diurnal component will be eliminated
        Monthly averaged 6-hourly base-files, "badiur.YYYYMMHH" (00Z, 06Z, 12Z, 18Z) should be created beforehand)
    • src/fcst/basefnam.F: getting a file name "base.YYYYMMDDHH"
  • Modified codes/scripts/data
    • src/fcst/gsmstep.F: call gloopn (after "filtr2")
    • src/fcst/Makefile.in
    • def/misc.h
    • configure-model
    • install

Automatic Installation

  • add --enable-gsmdamp
./install --model=gsm --enable-gsmdamp

Step by step

1. obtain sources

cvs co src/fcst/gloopn.F src/fcst/basefnam.F src/fcst/gsmstep.F

2. make a binary.

cd gsm
./configure-model --enable-gsmdamp
cd src/fcst
 # edit and change parameters (lnest, aa) if necessary.
make clean
make

3. Get re-analysis data (sigma-level data).

  • R2/R1 sigma files (T62) are in ECPC data server (tsuzumi.ucsd.edu).
sftp dataman@tsuzumi.ucsd.edu
 # get appropriate files

4. Change resolution (e.g. T62->T248) and save as "base.YYYYMMDDHH"

  • Do scnvrt and chgr.
  • The base.YYYYMMDDHH files should be saved or linked in the executive directory.

in shell script, for example,

export INPUT_RESOLUTION=t62k28
SCN=/home/work5/kei/GSM248/libs/etc/scnvrt
CHGR=/home/work5/kei/GSM248/gruns/runscr/chgr

INFILE=${INDIR}/sig.anl.${YEAR}${MONTH}${DAY}${TIME}.ieee
TMPBASE=tmp.base
OUTFILE=${OUTDIR}/base.${YEAR}${MONTH}${DAY}${TIME}
TMPFILE=tmp.sig

${SCN} gsm osu1 62:192:94:28 -1:-1:-1:-1:-1 ieee:bin ${INFILE}:dummy ${TMPBASE}:dummy
${CHGR} ${TMPBASE} dummy ${OUTFILE} dummy osu1

5. modify the main script as necessary and execute.

  • As usual. Simulation period, initial files, boundary files, etc.etc.

Notes

  • Hardly works with PSPLIT option. The time step should be about half of the default.
  • MPI version only.