Rotated Mercator Projection to Lat-Long

Jagadish Karmacharya j_karmacharya at YAHOO.COM
Mon Jun 8 16:31:07 EDT 2009


Hi,


I have grided data in rotated mercator projection in netcdf file. I want to
project the data in lat/long using grads. How can I do that?


I am using Grads v2.0.a3 in linux mechine. I have attached the output of
ncdump below:


$ ncdump -c srf.nc
netcdf srf {
dimensions:
  lon = 118 ;
  lat = 109 ;
  time = UNLIMITED ; // (12 currently)
variables:
  float lon(lon) ;
  lon:long_name = "Longitude" ;
  lon:units = "degrees_east" ;
  lon:actual_range = 52.37275f, 108.0947f ;
  float lat(lat) ;
  lat:long_name = "Latitude" ;
  lat:units = "degrees_north" ;
  lat:actual_range = -2.378861f, 44.79094f ;
  double time(time) ;
  time:long_name = "Time" ;
  time:units = "hours since 1900-1-1 00:00:0.0" ;
  time:actual_range = 535056., 543072. ;
  float UA(time, lat, lon) ;
  UA:long_name = "Anemom Zonal Winds" ;
  UA:units = "m/s" ;
  UA:missing_value = -1.e+30f ;
  float VA(time, lat, lon) ;
  VA:long_name = "Anemom Merid Winds" ;
  VA:units = "m/s" ;
  VA:missing_value = -1.e+30f ;
  float DRAG(time, lat, lon) ;
  DRAG:long_name = "Surface Drag Stress" ;
  DRAG:units = "si" ;
  DRAG:missing_value = -1.e+30f ;
  float TG(time, lat, lon) ;
  TG:long_name = "Ground Temperature" ;
  TG:units = "K" ;
  TG:missing_value = -1.e+30f ;
  float TF(time, lat, lon) ;
  TF:long_name = "Foliage Temp" ;
  TF:units = "K" ;
  TF:missing_value = -1.e+30f ;
  float TA(time, lat, lon) ;
  TA:long_name = "Anemom Temp" ;
  TA:units = "K" ;
  TA:missing_value = -1.e+30f ;
  float QA(time, lat, lon) ;
  QA:long_name = "Anemom Spec Humidity" ;
  QA:units = "kg/kg" ;
  QA:missing_value = -1.e+30f ;
  float SMU(time, lat, lon) ;
  SMU:long_name = "Top Layer Soil Moist" ;
  SMU:units = "mm" ;
  SMU:missing_value = -1.e+30f ;
  float SMR(time, lat, lon) ;
  SMR:long_name = "Root Lay Soil Moist" ;
  SMR:units = "mm" ;
  SMR:missing_value = -1.e+30f ;
  float RT(time, lat, lon) ;
  RT:long_name = "Total Precipitation" ;
  RT:units = "mm/day" ;
  RT:missing_value = -1.e+30f ;
  float ET(time, lat, lon) ;
  ET:long_name = "Evapotranspiration" ;
  ET:units = "mm/day" ;
  ET:missing_value = -1.e+30f ;
  float RNFS(time, lat, lon) ;
  RNFS:long_name = "Surface Runoff" ;
  RNFS:units = "mm/day" ;
  RNFS:missing_value = -1.e+30f ;
  float SNOW(time, lat, lon) ;
  SNOW:long_name = "Snow Depth" ;
  SNOW:units = "mm H2O" ;
  SNOW:missing_value = -1.e+30f ;
  float SH(time, lat, lon) ;
  SH:long_name = "Sensible Heat" ;
  SH:units = "W/m2" ;
  SH:missing_value = -1.e+30f ;
  float LWN(time, lat, lon) ;
  LWN:long_name = "Net Longwave" ;
  LWN:units = "W/m2" ;
  LWN:missing_value = -1.e+30f ;
  float SWN(time, lat, lon) ;
  SWN:long_name = "Net Solar Absorbed" ;
  SWN:units = "W/m2" ;
  SWN:missing_value = -1.e+30f ;
  float LWD(time, lat, lon) ;
  LWD:long_name = "Downward Longwave" ;
  LWD:units = "W/m2" ;
  LWD:missing_value = -1.e+30f ;
  float SWI(time, lat, lon) ;
  SWI:long_name = "Solar Incident" ;
  SWI:units = "W/m2" ;
  SWI:missing_value = -1.e+30f ;
  float RC(time, lat, lon) ;
  RC:long_name = "Convective Precip" ;
  RC:units = "mm/day" ;
  RC:missing_value = -1.e+30f ;
  float PSRF(time, lat, lon) ;
  PSRF:long_name = "Surface Pressure" ;
  PSRF:units = "hPa" ;
  PSRF:missing_value = -1.e+30f ;
  float ZPBL(time, lat, lon) ;
  ZPBL:long_name = "PBL Height" ;
  ZPBL:units = "m" ;
  ZPBL:missing_value = -1.e+30f ;
  float TGMAX(time, lat, lon) ;
  TGMAX:long_name = "Max Ground Temp" ;
  TGMAX:units = "K" ;
  TGMAX:missing_value = -1.e+30f ;
  float TGMIN(time, lat, lon) ;
  TGMIN:long_name = "Min Ground Temp" ;
  TGMIN:units = "K" ;
  TGMIN:missing_value = -1.e+30f ;
  float TAMAX(time, lat, lon) ;
  TAMAX:long_name = "Max Anemom Temp" ;
  TAMAX:units = "K" ;
  TAMAX:missing_value = -1.e+30f ;
  float TAMIN(time, lat, lon) ;
  TAMIN:long_name = "Min Anemom Temp" ;
  TAMIN:units = "K" ;
  TAMIN:missing_value = -1.e+30f ;
  float W10MX(time, lat, lon) ;
  W10MX:long_name = "Max 10m Wind Speed" ;
  W10MX:units = "m/s" ;
  W10MX:missing_value = -1.e+30f ;
  float PSMIN(time, lat, lon) ;
  PSMIN:long_name = "Min Surface Pressure" ;
  PSMIN:units = "hPa" ;
  PSMIN:missing_value = -1.e+30f ;
  float RHA(time, lat, lon) ;
  RHA:long_name = "Relative Humidity" ;
  RHA:units = "fraction" ;
  RHA:missing_value = -1.e+30f ;

// global attributes:
  :domxmin = 52.37275f ;
  :domxmax = 108.0947f ;
  :domymin = -2.378861f ;
  :domymax = 44.79094f ;
  :domzmin = 1050.f ;
  :domzmax = 1050.f ;
data:

 lon = 52.37275, 52.84065, 53.30896, 53.77768, 54.2468, 54.7163, 55.1862,
  55.65649, 56.12714, 56.59818, 57.06958, 57.54135, 58.01347, 58.48594,
  58.95876, 59.43192, 59.90541, 60.37923, 60.85337, 61.32784, 61.8026,
  62.27767, 62.75303, 63.22868, 63.70462, 64.18082, 64.6573, 65.13405,
  65.61103, 66.08827, 66.56575, 67.04345, 67.52139, 67.99953, 68.4779,
  68.95645, 69.4352, 69.91414, 70.39325, 70.87254, 71.35197, 71.83157,
  72.31132, 72.79119, 73.2712, 73.75132, 74.23156, 74.7119, 75.19233,
  75.67285, 76.15345, 76.63412, 77.11485, 77.59563, 78.07645, 78.5573,
  79.03819, 79.51909, 79.99999, 80.4809, 80.96181, 81.44269, 81.92355,
  82.40437, 82.88515, 83.36587, 83.84653, 84.32713, 84.80766, 85.28809,
  85.76843, 86.24866, 86.7288, 87.2088, 87.68867, 88.16841, 88.64801,
  89.12746, 89.60674, 90.08585, 90.56479, 91.04353, 91.52209, 92.00045,
  92.4786, 92.95654, 93.43424, 93.91171, 94.38895, 94.86594, 95.34268,
  95.81916, 96.29537, 96.7713, 97.24696, 97.72232, 98.19739, 98.67216,
  99.14661, 99.62076, 100.0946, 100.5681, 101.0412, 101.514, 101.9865,
  102.4586, 102.9304, 103.4018, 103.8728, 104.3435, 104.8138, 105.2837,
  105.7532, 106.2223, 106.691, 107.1593, 107.6272, 108.0947 ;

 lat = -2.378861, -1.965491, -1.550857, -1.134967, -0.7178538, -0.2995197,
  0.1200046, 0.5407031, 0.9625621, 1.385549, 1.809664, 2.234863, 2.661142,
  3.088466, 3.516842, 3.946209, 4.376571, 4.807911, 5.240187, 5.673385,
  6.107484, 6.542458, 6.978286, 7.414947, 7.852407, 8.290652, 8.729655,
  9.16939, 9.609834, 10.05096, 10.49274, 10.93516, 11.37819, 11.82179,
  12.26595, 12.71064, 13.15584, 13.60151, 14.04763, 14.49418, 14.94112,
  15.38843, 15.83609, 16.28406, 16.73233, 17.18085, 17.62961, 18.07857,
  18.52772, 18.97701, 19.42644, 19.87596, 20.32555, 20.77518, 21.22482,
  21.67445, 22.12404, 22.57355, 23.02298, 23.47227, 23.92142, 24.37038,
  24.81915, 25.26767, 25.71594, 26.1639, 26.61156, 27.05888, 27.50582,
  27.95237, 28.39849, 28.84416, 29.28936, 29.73404, 30.1782, 30.62181,
  31.06484, 31.50725, 31.94904, 32.39017, 32.83061, 33.27034, 33.70934,
  34.14759, 34.58505, 35.02171, 35.45754, 35.89252, 36.32661, 36.75981,
  37.19209, 37.62342, 38.05379, 38.48316, 38.91153, 39.33885, 39.76514,
  40.19034, 40.61444, 41.03743, 41.45929, 41.87999, 42.29952, 42.71785,
  43.13496, 43.55085, 43.96549, 44.37885, 44.79094 ;

 time = 535056, 535800, 536472, 537216, 537936, 538680, 539400, 540144,
  540888, 541608, 542352, 543072 ;


Any suggestion will be highly appriciated.


Jagadish



More information about the gradsusr mailing list