[gradsusr] Help on displaying NetCDF data with Grads.
Marsh, Kieren
k.marsh at geos-uae.com
Tue Jan 28 04:13:50 EST 2014
You need to have a second plot command in your script with longitude set to cover the remainder of the chart:
Try adapting this into your plotting commands:
* Set chart longitude extremes
*-------------------------------------
Lon1 = -180;* west longitude extreme of your plotting area
Lon2 = 180;* east longitude extreme of your plotting area
*Set longitude environment
*----------------------------------
'set lon 'Lon1' 'Lon2
* if your east extreme is on or east of 74.16 this will plot
* everything from 74.16 to Lon2 (i.e.what you have now)
*-------------------------------------------------------------------------------
If(Lon2 >= 74.16)
'd skip(u_velocity*1.95,50,50);v_velocity*1.95'
endif
*Set new variables shifting your longitude domain round by 360 degrees
*----------------------------------------------------------------------------------------
Lona = Lon1 + 360
Lonb = Lon2 + 360
*If your west extreme is to the west of 74.16 it will use the new shifted domain
*and plot everything up to 434.062
*You may get a thin meridional line on the chart at 74.16 in contoured/shaded plots by doing this
*You can attempt to remove this line by using the const function when plotting
* e.g. 'd const(contoured_field, 0, -u)'
*------------------------------------------------------------------------------------------------
if(Lon1 < 74.16)
'set lon 'Lona' 'Lonb
'd skip(u_velocity*1.95,50,50);v_velocity*1.95'
endif
Kieren Marsh
From: gradsusr-bounces at gradsusr.org [mailto:gradsusr-bounces at gradsusr.org] On Behalf Of Anil Kumar Sharma
Sent: 28 January 2014 11:16
To: jma at cola.iges.org; GrADS Users Forum
Subject: [gradsusr] Help on displaying NetCDF data with Grads.
Hi Jennifer and GrADS Users,
I have NetCDF file (RTOFS Global <http://nomads.ncep.noaa.gov/pub/data/nccf/com/rtofs/prod/rtofs.20140127/rtofs_glo_2ds_n024_daily_prog.nc> ) downloaded from NOMADS server <http://nomads.ncep.noaa.gov/pub/data/nccf/com/rtofs/prod/rtofs.20140127/rtofs_glo_2ds_n024_daily_prog.nc> . Ncdump of the file is
netcdf D\:/OceanCurrentData/2014/01/22/20140122_rtofs_glo_2ds_n024_daily_prog {
dimensions:
MT = UNLIMITED ; // (1 currently)
Y = 3298 ;
X = 4500 ;
Layer = 1 ;
variables:
double MT(MT) ;
MT:long_name = "time" ;
MT:units = "days since 1900-12-31 00:00:00" ;
MT:calendar = "standard" ;
MT:axis = "T" ;
double Date(MT) ;
Date:long_name = "date" ;
Date:units = "day as %Y%m%d.%f" ;
Date:C_format = "%13.4f" ;
Date:FORTRAN_format = "(f13.4)" ;
int Layer(Layer) ;
Layer:units = "layer" ;
Layer:positive = "down" ;
Layer:axis = "Z" ;
int Y(Y) ;
Y:point_spacing = "even" ;
Y:axis = "Y" ;
int X(X) ;
X:point_spacing = "even" ;
X:axis = "X" ;
float Latitude(Y, X) ;
Latitude:standard_name = "latitude" ;
Latitude:units = "degrees_north" ;
float Longitude(Y, X) ;
Longitude:standard_name = "longitude" ;
Longitude:units = "degrees_east" ;
Longitude:modulo = "360 degrees" ;
float u_velocity(MT, Layer, Y, X) ;
u_velocity:coordinates = "Longitude Latitude Date" ;
u_velocity:standard_name = "eastward_sea_water_velocity" ;
u_velocity:units = "m/s" ;
u_velocity:_FillValue = 1.267651e+030f ;
u_velocity:valid_range = -2.09935f, 2.310735f ;
u_velocity:long_name = " u-veloc. [90.9H]" ;
float v_velocity(MT, Layer, Y, X) ;
v_velocity:coordinates = "Longitude Latitude Date" ;
v_velocity:standard_name = "northward_sea_water_velocity" ;
v_velocity:units = "m/s" ;
v_velocity:_FillValue = 1.267651e+030f ;
v_velocity:valid_range = -2.275719f, 2.274807f ;
v_velocity:long_name = " v-veloc. [90.9H]" ;
float sst(MT, Y, X) ;
sst:coordinates = "Longitude Latitude Date" ;
sst:standard_name = "sea_surface_temperature" ;
sst:units = "degC" ;
sst:_FillValue = 1.267651e+030f ;
sst:valid_range = -6.057281f, 32.59346f ;
sst:long_name = " sea surf. temp. [90.9H]" ;
float sss(MT, Y, X) ;
sss:coordinates = "Longitude Latitude Date" ;
sss:standard_name = "sea_surface_salinity" ;
sss:units = "psu" ;
sss:_FillValue = 1.267651e+030f ;
sss:valid_range = 1.749605f, 40.75261f ;
sss:long_name = "sea surf. salnity [90.9H]" ;
float layer_density(MT, Layer, Y, X) ;
layer_density:coordinates = "Longitude Latitude Date" ;
layer_density:standard_name = "sea_water_potential_density" ;
layer_density:units = "sigma" ;
layer_density:_FillValue = 1.267651e+030f ;
layer_density:valid_range = 0.f, 0.f ;
layer_density:long_name = " density [90.9H]" ;
// global attributes:
:Conventions = "CF-1.0" ;
:title = "HYCOM ATLb2.00" ;
:institution = "National Centers for Environmental Prediction" ;
:source = "HYCOM archive file" ;
:experiment = "90.9" ;
:history = "archv2ncdf2d" ;
}
The dataset has 32 hybrid layers and a horizontal grid size of (4500 x 3298) . The grid has an Arctic bi-polar patch north of 47°N and a Mercator projection south of 47°N through 78.6°S. More details can be found at link <http://polar.ncep.noaa.gov/global/about/?> .
The CTL file Am using is to display variable values :
dset ^20140122_rtofs_glo_2ds_n024_daily_prog.nc
title HYCOM ATLb2.00
undef 1.26765e+30
dtype netcdf
XDEF 4320 LINEAR 74.16 0.08333
YDEF 2160 LINEAR -90. 0.08333
zdef 1 linear 1 1
tdef 1 linear 00Z31DEC1900 1mn
options template
PDEF 4500 3298 bilin sequential binary-big D:\OceanCurrentData\PDEF\pdef_ncep_global
vars 8
Date=>date 0 t date
Latitude=>latitude 0 y,x latitude
Longitude=>longitude 0 y,x longitude
u_velocity=>u_velocity 1 t,z,y,x u-veloc. [90.9H]
v_velocity=>v_velocity 1 t,z,y,x v-veloc. [90.9H]
sst=>sst 0 t,y,x sea surf. temp. [90.9H]
sss=>sss 0 t,y,x sea surf. salnity [90.9H]
layer_density=>layer_density 1 t,z,y,x density [90.9H]
endvars
The file used for interpolation pdef_ncep_global can be downloaded from http://nomad3.ncep.noaa.gov/pub/rtofs_global/20140122/
When Am displaying current variables u_velocity and v_velocity in GrADS with following commands
ga->open C:/OceanCurrentData/2014/01/22/20140122_rtofs_glo_2ds_n024_daily_prog.ctl
ga-> set lon -180 180
ga-> set lat -90 90
ga-> d skip(u_velocity*1.95,50,50);v_velocity*1.95
The output produced with above commands is attached herewith. The output shown to grads windows is only for lon 74.16 to 179.95 approx. Understand that Longitude starts is set 74.16 in XDEF entry in CTL file (as NetCDF file contains rectilinear data from 74.16 onward and data is packed 1/12 th the degree)
XDEF 4320 LINEAR 74.16 0.08333
is defining Start point of LON.
My Question is : How can I make command d skip(u_velocity*1.95,50,50);v_velocity*1.95 working so that plot is on entire globe ??? not for just LON 74.16 to 179.65. (Understand that NetCDF file has linear data from 74.16 to 434, but How can I make these Cartesian coordinate equivalent to geographical coordinates ????)
Center of Plot is necessarily to be at POINT (0,0) as plot need to be overlaid on google map.
Any help or guidance would be greatly appreciated.
Thanks & Regards
Anil Kumar - Sr. Software Developer
OceanManager Inc. | www.oceanmanager.com <http://www.oceanmanager.com/>
Tel: +1 (801)-758-7101, (801)-758-7207
Fax: +1 (801)-758-7101
OceanManager- Marine Software
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20140128/3a605fbc/attachment-0001.html
More information about the gradsusr
mailing list