program r3dv !$$$ main program documentation block ! . . . . ! main program: R3DVAR onal 3-d variational analysis ! PRGMMR: ROGERS ORG: NP22 DATE: 98-01-05 ! ! abstract: the regional 3-d variational analysis routine ! performs a regional analysis adapted to the eta model. this ! version of the analysis is done on pressure coordinates. The ! horizontal analysis grid is every other row of the eta h-grid. ! The analysis increments are interpolated in the horizontal ! as necessary to get to the staggered points left out of the analysis ! grid. Then vertical interpolation to the eta coordinate is done ! before the increment is added to the eta guess. ! ! The background error covariance is defined here not spectrally as ! in the SSI, but using a recursive filter (J. Purser). The form ! used here is fast and flexible, allowing for ! spatially varying error variance and correlation length. There is ! a small amount of distortion near the boundaries, which may not ! matter very much, since correlation models are gross approximations ! anyway. However, there is allowance for a buffer zone around the ! analysis domain, should this be a problem. ! ! Because this analysis was initially created to assimilate doppler ! radar winds, all winds are treated as line-of-sight winds. A ! conventional wind observation becomes two line-of-sight observations, ! one along a north pointing line (earth v component) and one along ! an east pointing line (earth u component). All line-of-sight ! winds, radar or conventional, are then assigned the angle that ! each observation line-of-sight makes with the eta grid x-axis. ! the forward model (which computes a simulated observation from ! model variables) is just ! wobs(theta) = u*cos(theta) + v*sin(theta) ! ! program history log: ! 95-01-24 parrish ! 95-02-03 parrish: add wind analysis capability ! 95-02-15 parrish: add ref level, sfc pressure data ! 95-02-16 parrish: add stuff to update eta restart file ! 95-05-03 parrish: begin conversion to observation space form ! using descent methods devised by J. Purser ! 95-08-04 parrish: continue with rewrite, adding eta guess capability ! ! ! usage: ! input files: ! 8 - snow.parm ! 9 - fix/eta3245_globstats ! 11 - fcstdata.parm ! 12 - nhb3245 ! 13 - restart.ges ! 15 - fix/r3dvar.parm ! 16 - sges.3dvar ! 19 - fix/errtable.r3dv ! 22 - z0eff ! 30 - prepcq (bufr) ! 41 - hgtsmref ! 42 - snowdepth (grib) ! 43 - ice (grib) ! 44 - sst (grib) ! 45 - albedo (grib) ! 46 - veg (grib) ! output files: ! 51 - restart ! 52 - nfc3245 ! ************************** ! unit numbers are specified for most files on ! input data cards. can be changed by changing data cards ! ************************** ! inprep - input bufr data file from quality control routine ! inges - six hour forecast guess field ! ! output files: (including scratch files) ! fort.6 - printout ! ! subprograms called: ! unique: - subroutines: filterp filterx filtery ! - fitoftemp fitoftemp2 fitofwind fitofwind2 ! - gdcrdn gdcrdp getbufrdata ! - getgofp getguess gradpen ! - pcgr3dv r3dv r3dvex testfilter ! - tfilterp tfilterx tfiltery tll ! - ! - ! ! - function conmc ! library: ! w3lib - ! ! exit states: ! cond = 0 - successful run ! = 15 - no prepda data ! = 56 - trouble in conmc ! ! remarks: resolution, unit numbers and several constants are ! in the input data cards ! ! attributes: ! language: fortran 9x (extensive use of dynamic memory feature) ! machine: cray ! !$$$