Re: more with area_hi2lores: trouble with output

From: Erik Noble <enoble_at_nyahnyahspammersnyahnyah>
Date: Fri, 12 Jun 2009 23:22:27 -0400

My sincere apologies Bold. I responded to your email string thinking it was
answer to my question. I think we are working on the same thing.
-Erik

On Fri, Jun 12, 2009 at 11:09 PM, Erik Noble <enoble_at_giss.nasa.gov> wrote:

> I am plotting CMORPH_rate (or actually "po") but I am using NCVIEW on the
> output netcdf file.
> Here are the printvarsummaryies from the terminal log. The lats seem ...ok.
>
> Variable: CMORPH_rate
> Type: float
> Total Size: 22118400 bytes
> 5529600 values
> Number of Dimensions: 3
> Dimensions and sizes: [time | 8] x [lat | 480] x [lon | 1440]
> Coordinates:
> time: [2006093000..2006093021]
> lat: [59.875..-59.875]
> lon: [-179.875..179.875]
> Number Of Attributes: 4
> units : mm/hr
> long_name : CMORPH
> lonFlip : longitude coordinate variable has been reordered via lonFlip
> _FillValue : -9999
>
>
> Variable: po
> Type: float
> Total Size: 22118400 bytes
> 5529600 values
> Number of Dimensions: 3
> Dimensions and sizes: [time | 8] x [LAT | 480] x [LON | 1440]
> Coordinates:
> time: [2006093000..2006093021]
> LAT: [-179.625..59.875]
> LON: [0.125..359.625]
> Number Of Attributes: 4
> units : mm/hr
> long_name : CMORPH
> lonFlip : longitude coordinate variable has been reordered via lonFlip
> _FillValue : -9999
>
>
>
>
> On Fri, Jun 12, 2009 at 4:56 PM, Mary Haley <haley_at_ucar.edu> wrote:
>
>>
>> I can't tell from your script which variable you're trying to plot.
>> Some of your latitude values are going from -179.625 to 59.875
>> which is not correct.
>>
>> However, it looks like from your graphic that the longitude values are
>> not quite right.
>>
>> Do a "printVarSummary" on the variable you're plotting to make sure
>> your latitude and longitude ranges are what you'd expect. You can
>> email me the output if you're not sure.
>>
>> --Mary
>>
>>
>>
>> On Fri, 12 Jun 2009, B N wrote:
>>
>> > Hi. Thank for all of the earlier help to help this newbie. 100 thank
>> you's :-)
>> >
>> > I am now using the area_hi2lores to regrid precipitation data (CMORPH)
>> > from a hi resolution grid to a lo resolution grid.
>> > Although I'm not getting an immediate error with my script, I am
>> > getting bad output. I use the script below to extract the global
>> > cmorph data from its original binary format, create meta data, then I
>> > try to use the area_hi2lores function. (po = area_hi2lores_Wrap
>> > (CMORPH_rate&lon,CMORPH_rate&lat, CMORPH_rate , True, 1, LON, LAT,
>> > False) in the script).
>> >
>> > When I look at my results only cover half of the world. Its supposed
>> > to be global.
>> > Picture is attached to show my result. My terminal log is attached too.
>> >
>> > Could I have a few suggestions on how to fix this?
>> > Sincerely,
>> > BOLD
>> >
>> > ; NCL script that reads in multiple NOAA CMORH precipitation where
>> > each file contains
>> > ; 16 direct access binary ("big_endian") records, which are 2
>> > variables at 3-hourly
>> > ; intervals for 1 day (8 pairs)
>> > ; MAKE SURE ONLY CMORPH FILES YOU WANT TO PROCESS ARE PRESENT IN
>> DIRECTORY
>> > ;************************************************
>> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
>> > load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
>> > ;************************************************
>> > DATADir = "./" ; path to your data must have trailing "/"
>> > InFILE = "*_3hr-025deg_cpc+comb"
>> > FILES = systemfunc("ls " + DATADir + InFILE ) ; root of data file
>> > numFILES = dimsizes(FILES)
>> > ;=============================
>> > ; create lat and long coordinate variables from CMORPH documentation
>> > ;============================
>> > nlat = 480
>> > mlon = 1440
>> > lat = 59.875 - ispan(0,nlat-1,1)*0.25
>> > lon = 0.125 + ispan(0,mlon-1,1)*0.25
>> > lat!0 = "lat"
>> > lat&lat = lat
>> > lat_at_units = "degrees_north"
>> > lon!0 = "lon"
>> > lon&lon = lon
>> > lon_at_units = "degrees_east"
>> >
>> > count = 0
>> > do ifil = 0, numFILES-1 ; BIG FILES LOOP ; NEW file loop
>> > ;===================
>> > ; create time variable
>> > ;===================
>> > year = 2006 ; start year or make part of the loop
>> > month = 09 ; start month or make part of loop
>> > day = ifil+1
>> > ;print(day)
>> > yyyymmdd = year*10000 + month*100 + day
>> > ntime = 8
>> > time = yyyymmdd*100 + ispan(0,21,3)
>> > time!0 = "time"
>> > time_at_units = "yyyymmddhh"
>> > time&time = time
>> > ;print(time)
>> > ;=======================================
>> > ;Create Array of Variables in binary data
>> > ;=======================================
>> > ntimes = 8 ; 3hourly data in 1 day equals eight intervals
>> > CMORPH_rate = new ( (/ntime,nlat,mlon/), "float")
>> > comb_MW_global = CMORPH_rate
>> > ;========================================
>> > ;Read in Binary
>> > ;========================================
>> > fName = FILES(ifil)
>> > setfileoption ("bin", "ReadByteOrder", "BigEndian")
>> > ntim = 1
>> > do i = 0, 14,2 ; CMORPH binary file contains 16 records.
>> NCL
>> > starts at counting at 0
>> > print ("====== Binary Record= "+(i+1) +"/ NCL Record Counter
>> > "+(i)+" ======")
>> > comb_MW_global(i/2,:,:) =
>> > fbindirread(fName,i,(/ntim,nlat,mlon/),"float")
>> > print ("====== Binary Record= "+(i+2) +"/ NCL Record Counter
>> > "+(i+1)+" ======")
>> > CMORPH_rate(i/2,:,:) = fbindirread(fName,
>> > i+1,(/ntim,nlat,mlon/),"float")
>> > end do
>> > ;=============================
>> > ; name dimensions of variables
>> > ;============================
>> > comb_MW_global!0 = "time"
>> > comb_MW_global!1 = "lat"
>> > comb_MW_global!2 = "lon"
>> > comb_MW_global&time = time
>> > comb_MW_global&lat = lat
>> > comb_MW_global&lon = lon
>> > comb_MW_global_at_long_name = "merged microwave precipitation"
>> > comb_MW_global_at_units = "mm/hr"
>> > comb_MW_global@_FillValue = -9999
>> > printVarSummary(comb_MW_global)
>> >
>> > CMORPH_rate!0 = "time"
>> > CMORPH_rate!1 = "lat"
>> > CMORPH_rate!2 = "lon"
>> > CMORPH_rate&time = time
>> > CMORPH_rate&lat = lat
>> > CMORPH_rate&lon = lon
>> > CMORPH_rate_at_long_name = "CMORPH"
>> > CMORPH_rate_at_units = "mm/hr"
>> > CMORPH_rate@_FillValue =-9999
>> >
>> > ;;;;;;;;;;;;;;;;;;;;;USE NCL's lonflip command to flip the longitudes
>> > to go from -180 to 180 instead of 0 to 360
>> > CMORPH_rate = lonFlip(CMORPH_rate)
>> > printVarSummary(CMORPH_rate)
>> > ;==============================
>> > ;;;;;;;;;;;;;;USE NCL's area_hi2lores function for precipitation
>> > ;;;;;;;;;;;;;; I want to regrid from default .25x.25 grid to 0.5x0.5
>> grid
>> >
>> > LAT = 59.875 - ispan(0,nlat-1,1)*0.50
>> > LON = 0.125 + ispan(0,mlon-1,1)*0.50
>> > po = area_hi2lores_Wrap (CMORPH_rate&lon,CMORPH_rate&lat, CMORPH_rate
>> > , True, 1, LON, LAT, False)
>> >
>> > ;;;;DO I need to use lonFlip again?????
>> > po = po(:,::-1,:)
>> > po = lonFlip(po)
>> > printVarSummary(po)
>> > printMinMax(po,True)
>> > ;======================
>> > ; Create NetCDF Ouput File of day
>> > ;======================
>> > ncout ="Test_"+yyyymmdd+"_CMORPH_3hr-050deg.nc"
>> > system("/bin/rm -f "+ncout)
>> > a = addfile(ncout,"c") ; write netCDF file
>> > a_at_title = " CMORPH and Combined MW Precipitation 3-hourly data"
>> > a_at_source =
>> > "ftp://ftp.cpc.ncep.noaa.gov/precip/global_CMORPH/3-hourly_025deg"
>> > filedimdef(a,"time",-1,True) ; make time an UNLIMITED
>> > dimension, always recommended
>> > ;=============================
>> > ;Place Contents into NetCDF file
>> > ;=============================
>> > a->CMORPH_RATE = po;
>> > end do
>> >
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>
>
Received on Fri Jun 12 2009 - 21:22:27 MDT

This archive was generated by hypermail 2.2.0 : Mon Jun 15 2009 - 08:53:05 MDT