subroutine open_events(mype) ! initialize files to contain events records for data character(10)eventfile write(eventfile,'("events",i4)')mype+9000 ievout=7 open(ievout,file=eventfile,form='formatted') rewind ievout if(mype.eq.0) then write(ievout,'(a)')'EVENTS FILE FROM ETA 3DVAR:' write(ievout,'(a)')' Description of contents:' write(ievout,'(a)')' ' write(ievout,'(a)')' each record is created by a formatted write with the following format: ' write(ievout,'(a)')' ' write(ievout,'(a)')' format(a3,i3.3,11e13.5,2x,a8) ' write(ievout,'(a)')' ' write(ievout,'(a)')' The contents of each record follow for each obs type ' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' surface pressure information: ' write(ievout,'(a)')' write(ievout,''("PP.",i3.3,11e13.5,2x,a8)'') & ' write(ievout,'(a)')' icode,pobs,pges,panl,plon,plat,pelev, & ' write(ievout,'(a)')' ptime,ptobs,quality_mark,perr,ptype,pstaid ' write(ievout,'(a)')' ' write(ievout,'(a)')' where icode is event code:' write(ievout,'(a)')' 0 obs successfully used' write(ievout,'(a)')' 1 obs rejected by non-linear qc' write(ievout,'(a)')' 2 obs rejected by gross check' write(ievout,'(a)')' 3 outside time window' write(ievout,'(a)')' 4 bad elevation ' write(ievout,'(a)')' 5 bad obs error ' write(ievout,'(a)')' 6 pressure is standard atmosphere, not observed' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' temperature information: ' write(ievout,'(a)')' write(ievout,''("TT.",i3.3,11e13.5,2x,a8)'') & ' write(ievout,'(a)')' icode,tobs,tges,tanl,tlon,tlat,tpres,telev, & ' write(ievout,'(a)')' ttime,quality_mark,terr,ttype,tstaid ' write(ievout,'(a)')' ' write(ievout,'(a)')' where icode is event code:' write(ievout,'(a)')' 0 obs successfully used' write(ievout,'(a)')' 1 obs rejected by non-linear qc' write(ievout,'(a)')' 2 obs rejected by gross check' write(ievout,'(a)')' 3 outside time window' write(ievout,'(a)')' 4 bad elevation ' write(ievout,'(a)')' 5 bad obs error ' write(ievout,'(a)')' 6 bad observed temperature' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' moisture information: ' write(ievout,'(a)')' write(ievout,''("QQ.",i3.3,11e13.5,2x,a8)'') & ' write(ievout,'(a)')' icode,qobs,qges,qanl,qlon,qlat,qpres,qelev, & ' write(ievout,'(a)')' qtime,quality_mark,qerr,qtype,qstaid ' write(ievout,'(a)')' ' write(ievout,'(a)')' where icode is event code:' write(ievout,'(a)')' 0 obs successfully used' write(ievout,'(a)')' 1 obs rejected by non-linear qc' write(ievout,'(a)')' 2 obs rejected by gross check' write(ievout,'(a)')' 3 outside time window' write(ievout,'(a)')' 4 bad obs ' write(ievout,'(a)')' 5 bad obs error ' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' precipitable water information: ' write(ievout,'(a)')' write(ievout,''("PW.",i3.3,11e13.5,2x,a8)'') & ' write(ievout,'(a)')' icode,pwobs,pwges,pwanl,pwlon,pwlat,pwpresb,pwprest, & ' write(ievout,'(a)')' pwtime,quality_mark,pwerr,pwtype,pwstaid ' write(ievout,'(a)')' ' write(ievout,'(a)')' where pwpresb,pwprest define bottom and top layer sigma values ' write(ievout,'(a)')' ' write(ievout,'(a)')' and where icode is event code:' write(ievout,'(a)')' 0 obs successfully used' write(ievout,'(a)')' 1 obs rejected by non-linear qc' write(ievout,'(a)')' 2 obs rejected by gross check' write(ievout,'(a)')' 3 outside time window' write(ievout,'(a)')' 4 bad obs ' write(ievout,'(a)')' 5 bad obs error ' write(ievout,'(a)')' ' write(ievout,'(a)')' NOTE: type 1520 == 152 (ssmi total pw) ' write(ievout,'(a)')' 1561 == 156 (land GOES layer pw, sigma=1 to .9)' write(ievout,'(a)')' 1562 == 156 (land GOES layer pw, sigma=.9 to .7)' write(ievout,'(a)')' 1563 == 156 (land GOES layer pw, sigma=.7 to .3)' write(ievout,'(a)')' 1564 == 156 (land GOES layer pw, sigma=.3 to 0 )' write(ievout,'(a)')' 1581 == 158 (ocean GOES layer pw, sigma=1 to .9)' write(ievout,'(a)')' 1582 == 158 (ocean GOES layer pw, sigma=.9 to .7)' write(ievout,'(a)')' 1583 == 158 (ocean GOES layer pw, sigma=.7 to .3)' write(ievout,'(a)')' 1584 == 158 (ocean GOES layer pw, sigma=.3 to 0 )' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' u-wind information: ' write(ievout,'(a)')' write(ievout,''("UU.",i3.3,11e13.5,2x,a8)'') & ' write(ievout,'(a)')' icode,uobs,uges,uanl,ulon,ulat,upres,uelev, & ' write(ievout,'(a)')' utime,quality_mark,uerr,utype,ustaid ' write(ievout,'(a)')' ' write(ievout,'(a)')' where icode is event code:' write(ievout,'(a)')' 0 obs successfully used' write(ievout,'(a)')' 1 obs rejected by non-linear qc' write(ievout,'(a)')' 2 obs rejected by gross check' write(ievout,'(a)')' 3 outside time window' write(ievout,'(a)')' 4 bad obs ' write(ievout,'(a)')' 5 bad obs error ' write(ievout,'(a)')' ' write(ievout,'(a)')' ' write(ievout,'(a)')' v-wind information: ' write(ievout,'(a)')' write(ievout,''("VV.",i3.3,11e13.5,2x,a8)'') & ' write(ievout,'(a)')' icode,vobs,vges,vanl,vlon,vlat,vpres,velev, & ' write(ievout,'(a)')' vtime,quality_mark,verr,vtype,vstaid ' write(ievout,'(a)')' ' write(ievout,'(a)')' where icode is event code:' write(ievout,'(a)')' 0 obs successfully used' write(ievout,'(a)')' 1 obs rejected by non-linear qc' write(ievout,'(a)')' 2 obs rejected by gross check' write(ievout,'(a)')' 3 outside time window' write(ievout,'(a)')' 4 bad obs ' write(ievout,'(a)')' 5 bad obs error ' write(ievout,'(a)')' ' write(ievout,'(a)')' ' end if close(ievout) return end subroutine open_events