i Michiko,\
\
Michiko Masutani wrote:

Ad:\
I am glad to hear you are interested in to come LWG in summer.  I will
mention to Wayman.\
\
It seems simulating L1B will not have much benefit.

That is right

David Tan said ESA will finalize bufr table for L1B but bufr table for
L2B depends on each center.  If you send me LIPAS version of bufr table
for L2B, that will help.

I am not quite sure what you are looking for, but I attached the (not so
cleaned) FORTRAN code that we use to write the LIPAS output to BUFR. In
fact, we BUFR DWL as a pseudo pilot, because no BUFR tables were
available for DWL at the time we did OSSE and SOSE.\
\
Please let me know if you need more information.\
\
Regards, Gert-Jan

I wish you a nice summer break.\
Michiko\
\
Ad Stoffelen wrote:

Dear Michiko,\
\
Michiko Masutani wrote:

Gert-Jan and Ad :\
1) I sent the last E-mail to Wayman to request travel fund which he
still has to work on.  He said he has to invite Oliver for T-PARK
project.  So he has to come up with extra fund to invite you.   I
included Ad because I thought \"Why not two?\".

Gert-Jan will probably come to the LWG in winter and not me. It appears
more effective when KNMI distributes its missions over its employees, so
I may come for the summer LWG perhaps.

2\) OSSE with L1B is just my idea.  I think using simulated L2B remove
interesting part of model error from simulated data.  It is also help to
prepare complete data assimilation cycle before the launch.

I do not quite see how to get substantial model error in the L2B data,
it is primarily measurement data ? On your second point, I\'m trying to
convince EUMETSAT of a NRT cenral Aeolus L2B processing in BUFR.
Currently, KNMI processes ESA ERS-2 scatterometer data in NRT with
50-minute timeliness (see
[www.knmi.nl/scatterometer](http://www.knmi.nl/scatterometer)) which
could be a precedent for Aeolus. In that case L2B BUFR data may be
assimilated by NCEP.

3\) Ron Errico will get ready  calibrated radiance data and conventional
data in late summer. First he will prepare for 6 weeks from summer and
winter, then he will process for entire year. NCEP and NESDIS are
working on thinned radiance data for whole year and probably get ready
this summer.  Perfect conventional data are already available and
posted   at\
<ftp://ftp.emc.ncep.noaa.gov/exper/mmasutani/NR2006/SIM_OBS/prepbufrT511/jw.aug07>\
JMA are down loading and running LETKF.  They have to wait for Mr
Sato\'s returning Japan to include radiance any way.\
\
It is nice to have small amount of data as soon as possible.  Usually it
takes time to get system working.  NCEP system is very poorly documented
and we are heavily rely on information in the brains on splendid and
dedicated staffs who work for NCEP for long time.

We now prepared a proposal for ESA and Gert-Jan will submit it.

4)  Do you mean T799 mode resolve only 200km?\
Oreste found some problem in tropics of T799 NR\
<http://www.emc.ncep.noaa.gov/research/JointOSSEs/record/Jan-Mar08/Reale_T799_October_Nature_Run.ppt>\
We are still working on evaluation of midlatitude storm.  If you find
any thing, please let us know.

With Gert-Jan we found some interesting results indeed on the ECMWF
model, but not yet for the NR. I\'m sure he will let you know when he
has the NR results.

5)  I met Anne Grete Straume-Lindner of ESA in ILRC. I told her that you
are writing a proposal.  She said she will be expecting your proposal.

Very good!\
\
Have a nice summer break, mine starts now for two weeks!\
\
Cheers,\
\
Ad

Michiko\
\
\
\
Gert-Jan Marseille wrote:

Dear Michiko,\
\
Indeed, I am planning to attend the next LWG in winter. I can present
the latest results on ADM vertical sampling strategies.\
\
This is also a good opportunity to discuss ADM simulation for the Joint
OSSE. The Aeolus E2S is not suitable to simulate one year of ADM
observations, because of computation time. Instead I am planning to use
the LIPAS tool we developed in the past. LIPAS takes into account
instrument error and a spatial representativeness error.\
\
I checked the spatial scales resolved by the operational ECMWF model
(T799 \~ 25 km grid). Horizontal scales below 200 km are (almost) not
resolved by the model. I am planning to do a similar analysis for the
nature run. The spatial scales not resolved by the nature run will drive
the representativeness error to be added to the simulated ADM (and
taking into account that ADM samples the atmosphere 50 km along track)\
\
Currently, LIPAS generates level-2 ADM data.\
I understand that you are planning to install the ADM L2B-processor and
use it for the Joint OSSE? Do you have a schedule available for the
planned experiments? I guess you will start with calibration experiments
using conventional observations only? So DWL will be used at a later
stage. Do you have any idea when?\
\
I am asking because the L2B processor is not ready at this stage. I have
no clear picture when it will reach the stage of maturity to be used for
the Joint OSSE, but that will not be before the end of this year. I will
discuss with my colleagues Ad and Jos how much work is required to adapt
LIPAS to generate L1B data.\
\
This week I am finishing my proposal to ESA for ADM (and follow-ons)
simulation. It would be helpful if you can send me a schedule of planned
experiments (and the use of DWL in particular).\
\
Best regards, Gert-Jan\
\
\
\
Michiko Masutani wrote:

Wayman:\
I am sorry you had to miss David Tan\'s Visit to EMC.\
\
At 9am meeting he had intensive discussion  with Greg Krasowski (JCSDA
and work with  Dennis Keiser), Hongming Qi (OSDPD), Jack Woollen.  Tong
Zhu, Zhaoxia Pu, Yuanfu Xsi and myself stayed all the meeting as well.\
We went though documentations and bufr table. EE format and bufr
conversion.  We discuss about how we will receive ADM data.  We thought
that the involvement of Hongming will depend on whether ADM data will
come from GTS or ftp. Anyway Greg will be getting ready for ADM
preprocessor.\
\
Seminar was attended by only about  15 people.  This was a little
disappointing. But people who came to the meeting become much more
prepared for ADN and idea of space based DWL.\
\
In the afternoon, Dave showed installation of L2BP processor.  We tested
at NESDIS linux machine and  at University of Utah with Zhaoxia\'s
help.  Detail documentation was very helpful. Greg will test on IBM and
contact with David.\
\
L2BP_Release1.33 is posted at\
<ftp://ftp.emc.ncep.noaa.gov/exper/mmasutani/ADM>\
Thy are still test version and not available from public site, yet.  We
will test and report bugs to David.\
\
I still think it is worthwhile to simulate L1B data from T511 Joint OSSE
NR for ADM.  Instead of going through Aeolus E2S (End-to-End Simulator),
I wonder if KNMI can simulate L1B data which simulate errors due to the
different between NR and DAS model.\
\
I hope either Gert-Jan or Ad Stoffelen will be able to visit EMC after
the LWG meeting in next winter and discuss with SWA about simulation of
DWL.\
\
Michiko

\-- \
\
\
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*                              
\* Gert-Jan Marseille                \*\
\* KNMI, PO Box 201, 3730 AE  de Bilt        \*\
\* The Netherlands                \*                      
\*                         \*\
\* Tel:    +31 30 22 06 820            \*\
\* Fax:    +31 30 22 10 407            \*\
\*                         \*\
\* E-mail:  <Gert-Jan.Marseille@knmi.nl>        \*\
\* <http://www.knmi.nl/~marseill/>                 \*\
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

c

subroutine out_pseudoPilot(ilevUD,rAz,rp,rHLOS,rNodata,rStdErr

\+ , kyear,kmonth,kday,khour,kminute

\+ , rLat,rLon,l_open_unit,kunit

\+ , id_dwlchannel, channel_mask,nprof)

integer ilevUD

real rAz

real rp(iLevUD)

real rHLOS(iLevUD)

real rStdErr(iLevUD)

integer kyear

integer kmonth

integer khour

integer kminute

real rLat

real rLon

c integer nprof

logical l_open_unit

integer kunit

integer id_dwlchannel

integer channel_mask(ilevUD)

C

C written 29-4-1999 by Siebren de Haan

C for

C input file : LIDAR-bufr

C output : pseudo_pilot-bufr

C

C modified 11-09-2002 by David Tan

C for

C input files: LIPAS ascii output

C

C modified 01-11-2003 by David Tan

C for

C dwl channel ident stored in radiosonde type

C

parameter (jwork=80000, jbufl=20000, kelem = 20000, jbyte=80000)

parameter (jsup=9, jsec0=3, jsec1=40, jsec2=64, jsec3=4)

parameter (jsec4=2, jkey=46, jelem=20000, kvals=80000)

integer kbuff(jbufl),kbufr(jbufl),ksup(jsup),koutdata(jsup)

integer ksec0(jsec0),ksec1(jsec1),ksec2(jsec2),ksec3(jsec3)

integer ksec4(jsec4)

c integer isec1(jsec1),isec2(jsec2),isec3(jsec3)

c integer isec4(jsec4)

integer ktdlst(jelem)

real values(kvals),outvals(kvals)

character\*64 cnames(kelem)

character\*24 cunits(kelem)

character\*80 cvals(kvals)

character\*80 inname,outname

real MAXSIGMA

integer iGROSS,iSIGMA

real rAz2

real rLon2

c

c write(6,\*)\'Starting bufr output\...\'

c write(6,\*)\'id_dwlchannel=\',id_dwlchannel

c

c

c iNumObs=0

c

iret=0

nargs = iargc()

C MAXSIGMA

MAXSIGMA=50.0

C missing data indicator

rmdi=1.7E+38

itot=0

ngross=0

nMAXSIGMA=0

c

c nmess=0

nmess=1

C If first profile then

C open output unit

if ( l_open_unit ) then

l_open_unit = .false.

if (nargs .lt. 1) then

write(\*,\*)\'addnoise(out_pseudoPILOT) \<BUFR output-file\> \...\'

stop

endif

call getarg(1,outname)

call PBOPEN(kunit,outname,\'w\',iret)

c print\*,\' kunit = \',kunit

if (iret .eq. -1) STOP \'open failed on bufr.out\'

if (iret .eq. -2) STOP \'invalid file name\'

if (iret .eq. -3) STOP \'invalide open mode specified\'

c kunit = 10

c print\*,\' kunit after pbopen = \',kunit

endif

c kval=ksup(5) ! not used in what follows

c nmess=ksup(6) ! set to 1 above

c

c nlev=20 ! number of levels

nlev=ilevUD ! number of levels

c

c iel=12+1+5\*nlev ! khead RF DATA

c 1 +1+1+5\*nlev+12 ! QC RF QC-DATA

c 2 +1+1+1+5\*nlev+12 ! QC GC GA QC-DATA

iel=12+1+5\*nlev ! khead RF DATA

\+ +1+1+5\*nlev+12 ! QC RF QC-DATA

\+ +1+1+1+5\*nlev+12 ! QC GC GA QC-DATA

c do n=1,ksup(6)

do n=1,nmess

itot=(n-1)\*iel

c ival0=(n-1)\*kel

C set the header

outvals(itot+1)=99 ! WMO block number

outvals(itot+2)=187 ! WMO station number -\> satellite

C outvals(itot+3)=values(ival0+2)

C outvals(itot+4)=values(ival0+3)

outvals(itot+3)=id_dwlchannel ! Sonde type - proxy for dwl_channel

outvals(itot+4)=rmdi ! Radiosonde computational method

c outvals(itot+5)=values(ival0+4)

c outvals(itot+6)=values(ival0+5)

c outvals(itot+7)=values(ival0+6)

c outvals(itot+8)=values(ival0+7)

c outvals(itot+9)=values(ival0+8)

c outvals(itot+10)=values(ival0+10)

c outvals(itot+11)=values(ival0+11)

outvals(itot+5)=kyear ! Year

outvals(itot+6)=kmonth ! month

outvals(itot+7)=kday ! day

outvals(itot+8)=khour ! hour

outvals(itot+9)=kminute ! minute

outvals(itot+10)=rLat ! Latitude

c if( rLon .gt. 540.).or.( rLon.le.-180.)then

c write(\*,\*)\'Bad longitude:\',rLon

c stop

c else

c rLon2 = rLon

c if( rLon2 .gt. 180. ) rLon2 = rLon2 - 360.

c endif

rLon2 = rLon

do while ( rLon2 .gt. 180. )

rLon2 = rLon2 - 360.

enddo

do while ( rLon2 .le. -180. )

rLon2 = rLon2 + 360.

enddo

outvals(itot+11)=rLon2 ! longitude

c

outvals(itot+12)=rmdi ! elevation is missing

c

c outvals(itot+13)=20

outvals(itot+13)=nlev

C copy data

c ival=12

iout=13

ilev=1

do while (ilev.le.nlev)

outvals(itot+iout+1)=rp(ilev) ! pressure

c iSIGMA=ival0+215+2\*(ilev-1)+1 ! sigma position

c iGROSS=ival0+215+2\*(ilev-1)+2 ! gross error position

c iAZIM=ival0+ival+2 ! azim position

c iHLOS=ival0+ival+3 ! HLOS position

C write(\*,\*) iGROSS,iSIGMA,iAZIM,iHLOS

C write(\*,\*) values(iGROSS),values(iSIGMA),values(iAZIM),values(iHLOS)

c

c if ( (values(iGROSS).eq.0.0).and.

C GJM

if ( rHLOS(ilev) .EQ. rNodata) rHLOS(ilev) = rmdi

if (

\+ (rStdErr(ilev).lt.MAXSIGMA) ) then

! no gross error and sigma \< MAXSIGMA

if (abs(rHLOS(ilev)).lt.1.E30) then

c if (rHLOS(ilev).gt.0.0) then

c outvals(itot+iout+2)=1.0 ! sign of HLOS

c else

c outvals(itot+iout+2)=0.0

c endif

c outvals(itot+iout+2)=0.0

outvals(itot+iout+2)=rmdi ! Vert sounding significance RMDI

c if (rHLOS(ilev).gt.0.0) then

c outvals(itot+iout+4)=rAz ! azim of HLOS

c else

c outvals(itot+iout+4)=rAz + 180.

c endif

c

rAz2 = rAz

c if (rHLOS(ilev).lt.0.0) rAz2=rAz2+180.

c rAz2 = AMOD( rAz2, 360. )

outvals(itot+iout+4)=rAz2

c

c outvals(itot+iout+5)=abs(rHLOS(ilev)) ! abs(los)

if(channel_mask(ilev).eq.id_dwlchannel)then

outvals(itot+iout+5)= rHLOS(ilev) ! los

else

outvals(itot+iout+5)= rmdi ! los

end if

else

outvals(itot+iout+2)=rmdi

outvals(itot+iout+5)=rmdi

outvals(itot+iout+4)=rmdi

endif

outvals(itot+iout+3)=rStdErr(ilev)\*1000 ! std dev

c outvals(itot+iout+4)=rAz ! azim

else

goto 200

endif

goto 201

200 ngross=ngross+1 ! gross error

if (rStdErr(ilev).lt.MAXSIGMA) nMAXSIGMA=nMAXSIGMA+1

outvals(itot+iout+2)=rmdi

outvals(itot+iout+3)=rmdi

outvals(itot+iout+4)=rmdi

outvals(itot+iout+5)=rmdi

201 continue

iout=iout+5

c ival=ival+3

ilev=ilev+1

end do

C data-presence indicator

iout=iout+1

outvals(itot+iout)=0.0 ! QUALITY INFORMATION FOLLOW

iout=iout+1

outvals(itot+iout)=12+5\*nlev ! EXTENDED DELAYED \....

do itemp=1,12+5\*nlev

iout=iout+1

outvals(itot+iout)=0.0

end do

C data-confidence indicator

iout=iout+1

outvals(itot+iout)=98.0 ! GENERATING CENTRE

iout=iout+1

outvals(itot+iout)=10.0 ! GENERATING APPLICATION

iout=iout+1

outvals(itot+iout)=12+5\*nlev ! EXTENDED DELAYED \....

do itemp=1,12+5\*nlev

iout=iout+1

outvals(itot+iout)=100.0

end do

end do

itot=itot+iout

do itemp=1,itot

if (outvals(itemp).gt.1.E30) then

outvals(itemp)=rmdi

endif

end do

C write(\*,\*) itot,iout,ngross,nlev,nmess,ksup(6)

c write(\*,\*) itot,iout,ngross,nlev,nmess

C 1 Initialization

C 1.1 integers

khead=12

ktdlen=22

nset=3

C 1.2 Unexpanded data descriptors

ktdlst( 1)=301001

C ktdlst( 2)=002201 ! Simulated satellite instrument

C ktdlst( 3)=002022 ! Satellite data processing technique used

ktdlst( 2)=002011 ! Sonde type - proxy for dwl channel

ktdlst( 3)=002012 ! Radiosonde computational method

ktdlst( 4)=301011 ! Year, month, day

ktdlst( 5)=301012

ktdlst( 6)=301022

ktdlst( 7)=105000 ! EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR

ktdlst( 8)=031001

ktdlst( 9)=007004 ! Pressure

ktdlst(10)=008001

ktdlst(11)=010003

ktdlst(12)=011001

c ktdlst(13)=011002

ktdlst(13)=011003 ! U-comp for signed LOS

ktdlst(14)=222000

ktdlst(15)=101000

ktdlst(16)=031002 ! EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR

ktdlst(17)=031031

ktdlst(18)=001031 ! Generating centre

ktdlst(19)=001201 ! Generating application

ktdlst(20)=101000

ktdlst(21)=031002 ! EXTENDED DELAYED DESCRIPTOR REPLICATION FACTOR

ktdlst(22)=033007 ! Confidence

C 1.3 Section 0 contents

ksec0(1)=0 ! TOTAL LENGTH OF SECTION 0

ksec0(2)=0 ! TOTAL LENGTH OF BUFR MESSAGE

ksec0(3)=3 ! BUFR EDITION NUMBER

C 1.4 Section 1 contents

ksec1( 1)=18 ! TOTAL LENGTH OF SECTION 1

ksec1( 2)=3 ! BUFR EDITION NUMBER

ksec1( 3)=98 ! ORIGINATING CENTRE

ksec1( 4)=1 ! UPDATE SEQUENCE NUMBER

ksec1( 5)=0 ! FLAG other data & uncompressed observed -\> 64 compress

c ksec1( 6)= 12 ! ers-1 and the like

ksec1( 6)= 2 ! Upper Air Soundings (PILOT etc)

ksec1( 7)=187 ! 91 if Land Pilot used for DWL pseudoPilot

ksec1( 7)= 91 ! 91 if Land Pilot used for DWL pseudoPilot

c

c ksec1( 8)=isec1(8) ! VERSION NUMBER OF LOCAL TABLE USED

c ksec1( 9)=isec1(9)

c ksec1(10)=isec1(10)

c ksec1(11)=isec1(11)

c ksec1(12)=isec1(12)

c ksec1(13)=isec1(13)

c ksec1(14)=isec1(14) ! BUFR MASTER TABLE( ZERO) FOR METEOROLOGICAL
DATA)

c

ksec1( 8)=1 ! VERSION NUMBER OF LOCAL TABLE USED

if ( kyear .le. 2000 ) then

ksec1( 9)=kyear-1900 ! YEAR

else

ksec1( 9)=kyear-2000 ! YEAR

endif

ksec1(10)=kmonth ! MONTH

ksec1(11)=kday ! DAY

ksec1(12)=khour ! HOUR

ksec1(13)=kminute ! MINUTE

ksec1(14)=0 ! BUFR MASTER TABLE( ZERO) FOR METEOROLOGICAL DATA)

c

ksec1(15)=2 ! VERSION NUMBER OF MASTER TABLE USED

ksec1(16)=0 ! LOCAL ADP CENTRE INFO.

C 1.5 Section 2 contents (empty)

ksec2(1)=0

C 1.6 Section 3 content

ksec3(1)=0 ! TOTAL LENGTH OF SECTION 3

ksec3(2)=0 ! RESERVED

ksec3(3)=nmess ! NUMBER OF SUBSETS (Reports to be bufrized)

ksec3(4)=64 ! 64 FOR COMPRESSION/ 0 MANY SUBSETS when other data

C 1.7 Section 4

ksec4(1)=0

ksec4(2)=0

C 2.2 set kdata

koutdata(1)=nlev ! number of present levels

koutdata(2)=nlev\*5+khead ! number of non missing values in 1.bitmap

koutdata(3)=nlev\*5+khead ! number of non missing values in 1.bitmap

kel=iel

nbuot=nmess\*kel

c

c write(6,\*)\'Encoding bufrmessage\...\'

c

c call bupkey( key,ksec1,ksec2,kerr )

c if (kerr .ne. 0) then

c write(\*,\*)\' key error - kerr = \',kerr

c endif

c if ((nprof .eq. 81) .or. (nprof.eq.82))then

c write(\*,\*) \'outvals \',(outvals(kk),kk=1,150)

c stop

c endif

c write(\*,\*) outvals(133)

c write(\*,\*) \'itot \',itot

c do ppp=1,kvals

c if (outvals(ppp) .lt. -95000) STOP

c enddo

call bufren( ksec0,ksec1,ksec2,ksec3,ksec4,

\+ ktdlen,ktdlst,nset,koutdata,kel,

\+ nbuot,outvals,cvals,kbufl,kbufr,kerr)

if (kerr .ne. 0) then

write(\*,\*)\' packing error - kerr = \',kerr

endif

C
write(\*,\*)\'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\'

C write(\*,\*)\'\*\*\*\*\*\* END OF BUFR ENCODING \*\*\*\*\*\*\'

C
write(\*,\*)\'\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\'

c write(\*,\*) \'kbufl=\',kbufl

kbufl = kbufl \* 4

c

c write out bufrmessage to file

c

c

c write(6,\*)\'Writing bufrmessage to\',kunit

c

call pbwrite(kunit,kbufr,kbufl,kret)

C

c go to 300 ! read next subset done elsewhere

C exit OK

1000 continue

if(kret.eq.-1) then

print\*,\' Error in writing bufred data \',kret

else

c print\*,kbufl,\' Bytes written to kunit \',kunit,kret

endif

if( ngross .gt. 0 ) write(\*,\*) \'ngross =\',ngross

if( nMAXSIGMA .gt. 0 ) write(\*,\*) \'nMAXSIGMA=\',nMAXSIGMA

c write(6,\*)\'Closing from out_pseudoPilot\...\',kunit

c call PBCLOSE(kunit,iret)

end