Re: interpolation from hybrid coordinates to pressure levels

From: Mark Chan <cym263_at_nyahnyahspammersnyahnyah>
Date: Fri Mar 28 2014 - 08:33:13 MDT

Dear Dennis,   Thanks so so much! I am so moved for the kindly help. I will try to work on it following your suggestion.   With my best regards, Mark On Friday, March 28, 2014 3:21 PM, Dennis Shea <shea_at_ucar.edu> wrote: [1] NCL's functions expect the hybrid coefficients to be     of the form           p = a(k)*p0 + b(k)*ps [2] The REMO coefficients which you sent as an ascii file are     of the form           p = ap(k)  + b(k)*ps       where ap(k) => =a(k)*p0       Hence, to use NCL's functions you must convert. This is trivial. ; Read hybrid coefficients; make REMO coefficients like CAM coefficients     dir_coef = "./"     fil_coef = "REMO2.coeficients"     coef    = readAsciiTable(dir_coef+fil_coef, 3, "float", 2)     hyam    = coef(:,1)     hybm    = coef(:,2)     P0      = 100000.        ; make like CAM     hyam    = hyam/P0     print("---")     print(sprintf("%9.6f", hyam)+"  "+sprintf("%9.6f", hybm)) [3] The REMO GRIB tables are not fully contained with NCL's     built-in suite of GRIB lookup tables. Complete info on NCL's GRIB is at: http://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclFormatSupport.shtml#GRIB This can be a bit overwhelming so no need to read it. However, the section: "User-defined GRIB1 parameter tables" would allow you to input the appropriate GRIB table form expected by NCL. The table you sent would have to be reformatted. The attached added the meta data. It creates a netCDF file. Good luck On 3/21/14, 8:53 PM, Dennis Shea wrote: > The file contains no hybrid coefficients. It contains > numbers for each hybrid level. These are useless for > interpolation to constant ressure levels.. > > ncl-talk has no REMO files available to examine. > If you send a REMO files (grib or netCDF) include > another file with the actualy hybrid coefficients on it. > > --- > > ftp ftp.cgd.ucar.edu > anonymous > email > cd incoming > put REMO.{grb,nc} > put REMO_hybrid,{grb,nc} > quit > > Then send email to ncl-talk_at_ucar.edu stating the names > of the files. Please do not reply or cc me. > > Cheers > > > On 3/21/14, 3:41 PM, Mark Chan wrote: >> Dear NCL users, >> >>  From the link below I found an example for interpolation from hybrid coordinates to pressure levels, but as it said that it only works for CSM data. I have REMO data and wonder how to do the interpolation. Expecially I am not sure how to define variables such as "PS", "hyam", "hybm" as shown in the below: >>      T = in->T                                    ; select variable to ave >>      P0mb =1000. >>      hyam = in->hyam                      ; get a coefficiants >>      hybm = in->hybm                      ; get b coefficiants >>      PS  = in->PS                            ; get pressure >> https://www.ncl.ucar.edu/Applications/Scripts/vert_1.ncl >> >> >> ---my data info from ncdump is as:------------ >> >> netcdf CC_var131 { >> dimensions: >>    initial_time0_hours = 21 ; >>    lv_HYBY1 = 27 ; >>    g0_lat_2 = 300 ; >>    g0_lon_3 = 400 ; >>    ncl_strlen_0 = 18 ; >> variables: >>    float VAR_131_GDS0_HYBY(initial_time0_hours, lv_HYBY1, g0_lat_2, g0_lon_3) ; >>    VAR_131_GDS0_HYBY:forecast_time_units = "hours" ; >>    VAR_131_GDS0_HYBY:forecast_time = 0 ; >>    VAR_131_GDS0_HYBY:parameter_number = 131 ; >>    VAR_131_GDS0_HYBY:parameter_table_version = 128 ; >>    VAR_131_GDS0_HYBY:gds_grid_type = 0 ; >>    VAR_131_GDS0_HYBY:level_indicator = 110 ; >>    VAR_131_GDS0_HYBY:_FillValue = 1.e+20f ; >>    VAR_131_GDS0_HYBY:units = "unknown" ; >>    VAR_131_GDS0_HYBY:long_name = "Unknown Variable Name" ; >>    double initial_time0_hours(initial_time0_hours) ; >>    initial_time0_hours:units = "hours since 1800-01-01 00:00" ; >>    initial_time0_hours:long_name = "initial time" ; >>    double initial_time0_encoded(initial_time0_hours) ; >>    initial_time0_encoded:units = "yyyymmddhh.hh_frac" ; >>    initial_time0_encoded:long_name = "initial time encoded as double" ; >>    float g0_lat_2(g0_lat_2) ; >>    g0_lat_2:La1 = 28.f ; >>    g0_lat_2:Lo1 = -10.f ; >>    g0_lat_2:La2 = 60.89f ; >>    g0_lat_2:Lo2 = 33.89f ; >>    g0_lat_2:Di = 0.11f ; >>    g0_lat_2:Dj = 0.11f ; >>    g0_lat_2:units = "degrees_north" ; >>    g0_lat_2:GridType = "Cylindrical Equidistant Projection Grid" ; >>    g0_lat_2:long_name = "latitude" ; >>    float g0_lon_3(g0_lon_3) ; >>    g0_lon_3:La1 = 28.f ; >>    g0_lon_3:Lo1 = -10.f ; >>    g0_lon_3:La2 = 60.89f ; >>    g0_lon_3:Lo2 = 33.89f ; >>    g0_lon_3:Di = 0.11f ; >>    g0_lon_3:Dj = 0.11f ; >>    g0_lon_3:units = "degrees_east" ; >>    g0_lon_3:GridType = "Cylindrical Equidistant Projection Grid" ; >>    g0_lon_3:long_name = "longitude" ; >>    int lv_HYBY1_l1(lv_HYBY1) ; >>    lv_HYBY1_l1:units = "number" ; >>    lv_HYBY1_l1:long_name = "layer between two hybrid levels" ; >>    int lv_HYBY1_l0(lv_HYBY1) ; >>    lv_HYBY1_l0:units = "number" ; >>    lv_HYBY1_l0:long_name = "layer between two hybrid levels" ; >>    char initial_time0(initial_time0_hours, ncl_strlen_0) ; >>    initial_time0:NCL_converted_from_type = "string" ; >>    initial_time0:units = "mm/dd/yyyy (hh:mm)" ; >>    initial_time0:long_name = "Initial time of first record" ; >> // global attributes: >>    :creation_date = "Fri Mar 21 16:00:34 CET 2014" ; >>    :NCL_Version = "6.1.2" ; >>    :system = "Linux hexagon-1 2.6.32.59-0.7.1_1.0402.7200-cray_gem_s #1 SMP Wed May 1 03:59:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux" ; >>    :Conventions = "None" ; >>    :grib_source = "CC_var131.grb" ; >>    :title = "NCL: convert-GRIB-to-netCDF" ; >> >> >> Thanks so much in advance! >> Mark >> >> >> >> _______________________________________________ >> ncl-talk mailing list >> List instructions, subscriber options, unsubscribe: >> http://mailman.ucar.edu/mailman/listinfo/ncl-talk >> > _______________________________________________ > ncl-talk mailing list > List instructions, subscriber options, unsubscribe: > http://mailman.ucar.edu/mailman/listinfo/ncl-talk >

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Mar 28 08:33:34 2014

This archive was generated by hypermail 2.1.8 : Mon Mar 31 2014 - 11:47:09 MDT