Hi Dennis,
The data I got from ECMWF is from cycle 28r1 and 28r3.
The model vertical coordinate and A, B can be found at:
http://www.ecmwf.int/products/data/technical/model_levels/model_def_60.html
P(half)=A+B * P(surface)
and
P(interface) = ((p(up_half) + p(low_half) )/2
Sorry to ask this again;
Am I right to use vinth2p with EC's A (i.e.,hyam) and B(hybm), with top-to-bottom re-ordering, I only need to set p0mb = 1,
rather than 1000mb, and psurf is the surface (hPa) to convert a EC variable "temp"
from EC's hybrid coordinate to pressure level defined from lev_p as followed:
Tp=vinth2p (temp, hyam, hybm, lev_p, psurf(0,:,:), intyp, p0mb, 1, False )
Many thanks,
Frank
----- Original Message -----
From: Dennis Shea <shea@cgd.ucar.edu>
Date: Wednesday, March 2, 2005 8:08 am
Subject: Re: Convert ECMWF 60 levels Hybrid model levels to pressure levels
> Hello,
>
> >I have ECMWF model level data set and would like to convert it to
> pressure
> level. I am trying to use vinth2p function. I know this function
> is for CCSM
> coordinate with p = AP+ BP(i,j)
>
> Are you talking about the ERA40 Reanalysis archive?
>
> There are several parts to this response:
>
> [1] ------------------------------------------------
>
> >
> >May I ask can I use this function to convert ECMWF coordinate?
> >Can I use vinth2p for this purpose?
> >
>
> yes but note that this function was based upon the
> vertical ordering used by the NCAR atmospheric model .. top-to-bottom.
>
> >What I am trying is to use function vinth2p with EC's A and B but
> set p0mb = 1,
> rather than 1000mb, and pp is the surface (hPa) to convert a EC
> variable "temp"
> from its hybrid coordinate to pressure level as followed:
> >
> > vinth2p (temp, hyam, hybm, lev_p, pp(0,:,:), intyp, p0mb, 1,
> False )
> >
>
> Tp = vinth2p (temp, hyam, hybm, lev_p, pp(0,:,:), intyp, p0mb, 1,
> False )
> for Tp at the initial time only ==>Tp(lev_p,lat,lon)
>
> Tp = vinth2p (temp, hyam, hybm, lev_p, pp, intyp, p0mb, 1, False )
> for Tp at all times ==>Tp(time,lev_p,lat,lon)
>
> printVarSummary(Tp)
>
> So ... YES ... NCL can be (and has been) used to do this.
>
> ============
> [2] I forwarded your question to NCAR's Data Support Section (DSS).
> The response has been posted to ncl-talk.
> ==============
> [3] The dataset produced by DSS are in GRIB format. DSS does
> this to minimize file size.
>
> NCL can read these directly. Let's say there are
> a number of files in some directory; further,
> they all begin with U*
>
> dirg = "./" ; directory where GRIB file reside
> filg = systemfunc("cd "+dirg +"; ls U*) ; grib file names
> nfil = dimsizes(filg) ; number of files
>
> do nf=0,nfil-1
> f = addfile (dirg+fil(nf)+".grb", "r") ; extension
> identifies the
> ; file as a GRIB file
> ;print(f) ; view file contents
> z = f->Z_GDS4_ISBL
>
> :
> end do
> ================
> [4] If you *need* to make netCDF files, I can send you an
> NCL script that will convert GRIB to netCDF.
>
> ================
> Good luck
>
>
>
>
>
>
>
_______________________________________________
ncl-talk mailing list
ncl-talk@ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
This archive was generated by hypermail 2b29 : Wed Mar 02 2005 - 14:31:00 MST