Pressure Range Problem

From: Helen Parish <helen_at_nyahnyahspammersnyahnyah>
Date: Tue, 3 Jun 2008 00:25:23 -0700

I am unable to do a standard plot (of e.g. pressure vs. latitude,
pressure vs. longitude) because the software forces a standard range
of pressures which you are not allowed to stray outside of. I want to
plot results within the pressure range of around 92 bar to 0.00003
bar. I may at some point also want to plot as a function of height,
although I only have an approximate idea of heights corresponding to
a given pressure. I may well want to plot as a function of z/H as
well as pressure.

What I need is a simple way to modify and customize the preset
pressure range. I believe this pressure range is set in
"gsn_csm_pres_hgt", which makes use of "gsn_csm.ncl". I am not sure
how or if I can modify this pressure range in my code.

Below is a copy of the code which does not work as it stands right
now. Can anyone tell me how to do this ?.

Thanks,
Helen.

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
                                        ; input file
   diri = "./"
   fili = "rayleigh4a.cam2.h0.0009-01-04-00000.nc"
   fi = addfile (diri+fili, "r")
                                        ; output file
   diro = "./"
   filo = "helen.nc"
   system ("/bin/rm -f "+diro+filo) ; remove any pre-exist file
   fo = addfile (diro+filo, "c")
                                        ; add any file attributes
   fo_at_title = fi_at_title + ": Selected Variables at pressure levels"
   fo_at_history = systemfunc ("date")
   fo_at_source = fi_at_source
   fo_at_case = fi_at_case
   fo_at_Conventions = fi_at_Conventions

   Var = (/ "T" , "Q", "U", "V"/) ; select variable to be
interpolated.
   nVar = dimsizes (Var)
                                        ; desired output levels
lev_p = (/ 91500., 90000., 87500., 80000., 67500., 50000., 30000.,
25000., 18000., 10000., 8500., 7000., 4000., 3750., 3000., 2000.,
1750., 1200., 600., 200., 100., 30., 10., 4., 1.5, 0.5, 0.03 /)
   lev_p!0 = "lev_p" ; variable and dimension name
the same
   lev_p&lev_p = lev_p ; create coordinate variable
   lev_p_at_long_name = "pressure" ; attach some attributes
   lev_p_at_units = "hPa"
   lev_p_at_positive = "down"

   hyam = fi->hyam ; read hybrid info
   hybm = fi->hybm
   PS = fi->PS
   P0mb = 0.01*fi->P0

   do n=0,nVar-1 ; loop over the variables
      X = fi->$Var(n)$
      Xp = vinth2p (X, hyam, hybm, lev_p ,PS, 1, P0mb, 2, True)
      copy_VarAtts(X, Xp)
      fo->$Var(n)$ = Xp ; write to netCDF file
      print (Var(n)+": interpolated and written to netCDF")
   end do

end
;***********************
; zonal.ncl
;***********************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
;***********************
begin
   f = addfile ("helen.nc","r")
   print(f)
   u = f->U
   printVarSummary( u )

   dimu = dimsizes( u )
   ntim = dimu(0)
   klvl = dimu(1)
   nlon = dimu(2)
   mlon = dimu(3)
;***********************
; Create Plot
;***********************
   wks = gsn_open_wks ("x11", "h_lat" ) ; open workstation
   gsn_define_colormap(wks,"rainbow") ; choose colormap

   res = True
   res_at_cnFillOn = True
   res_at_lbLabelAutoStride = True
   res_at_gsnMaximize = True ; if [ps, eps, pdf] make large
   res_at_gsnSpreadColors = True ; span color map

   do nt=0,ntim-1

      res_at_gsnCenterString = "t="+u&time(nt)
      plot = gsn_csm_pres_hgt(wks, u(nt,:,:,0), res ) ; (lev,lat)

      res_at_trYReverse = True
      plot = gsn_csm_contour (wks, u(nt,:,:,0), res ) ; (lev,lat)
      plot = gsn_csm_contour (wks, u(nt,:,0,:), res ) ; (lev,lon)

      kl = 5
      res_at_mpFillOn = False
      res_at_mpGridAndLimbOn = True
      res_at_mpGridLineDashPattern = 2
      res_at_mpOutlineBoundarySets = "NoBoundaries"
      res_at_mpCenterLonF = 180.
      res_at_gsnCenterString = res_at_gsnCenterString+" p="+u&lev_p(kl)
      plot = gsn_csm_contour_map_ce (wks, u(nt,kl,:,:), res )

   end do

end

_______________________________________________
ncarg-talk mailing list
ncarg-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
Received on Tue Jun 03 2008 - 01:25:23 MDT

This archive was generated by hypermail 2.2.0 : Wed Jun 04 2008 - 15:44:20 MDT