This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Francois, these are grib1 type files, not grib2 attached is the cdl for the files. i;ll send another msg with the nc file robb.. On Fri, 14 Jan 2005, Unidata Support wrote: > > ------- Forwarded Message > > >To: address@hidden > >From: "Vandenberghe" <address@hidden> > >Subject: netCDF Decoders - GRIB2TONC > >Organization: UCAR/Unidata > >Keywords: 200501142202.j0EM2lU6007167 > > Institution: NCAR > Package Version: NETCDF 3-5 > Operating System: UNIX/LINUX > Hardware Information: IBM/DELL > Inquiry: Hi, > > I was wondering if I could have access to a Beta version of the UNIDATA > GRIB2TONC (decoder/converter of GRIB2 files into NETCDF). > > Thanks in advance, > > Francois > > > > -- > NOTE: All email exchanges with Unidata User Support are recorded in the > Unidata inquiry tracking system and then made publicly available > through the web. If you do not want to have your interactions made > available in this way, you must let us know in each email you send to us. > > ------- End of Forwarded Message > =============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ ===============================================================================
netcdf Replace_with_model_name{ dimensions: record = UNLIMITED ; // (reference time, forecast time) lat = 94 ; // latitude lon = 192 ; // longitude lbls = 2 ; // layer between 2 depths below land surface fhg = 2 ; // fixed height above ground time_len = 21 ; // string length for datetime strings valtime_offset = 1 ; // number of offset times nmodels = 1 ; // number of models ngrids = 1 ; // number of grids nav = 1 ; // for navigation nav_len = 100 ; // max string length for navigation strings variables: double reftime(record) ; // reference time of the model reftime:long_name = "reference time" ; reftime:units = "hours since 1992-1-1" ; double valtime(record) ; // forecast time ("valid" time) valtime:long_name = "valid time" ; valtime:units = "hours since 1992-1-1" ; :record = "reftime, valtime" ; // "dimension attribute" -- means // (reftime, valtime) uniquely // determine record char datetime(record, time_len) ; // derived from reftime datetime:long_name = "reference date and time" ; // units YYYY-MM-DD hh:mm:ssZ (ISO 8601) double valtime_offset(valtime_offset) ; // valtime - reftime valtime_offset:long_name = "hours from reference time" ; valtime_offset:units = "hours" ; char forecasttime(record, time_len) ; // derived from valtime forecasttime:long_name = "forecast date and time" ; // units YYYY-MM-DD hh:mm:ssZ (ISO 8601) :lbls = "lbls_bot, lbls_top" ; // ("lbls_bot, lbls_top") uniquely // determines lbls float lbls_bot(lbls) ; lbls_bot:long_name = "bottom level of layer between 2 depths below land surface " ; lbls_bot:units = "cm" ; float lbls_top(lbls) ; lbls_top:long_name = "top level of layer between 2 depths below land surface " ; lbls_top:units = "cm" ; float fhg(fhg) ; fhg:long_name = "fixed height above ground" ; fhg:units = "meters" ; // The following lat and lon coordinate variables are redundant, // since the navigation variables provide the necessary information. // The extra information is included here for human readability. float lat(lat) ; lat:long_name = "latitude" ; lat:units = "degrees_north" ; float lon(lon) ; lon:long_name = "longitude" ; lon:units = "degrees_east" ; long model_id(nmodels) ; model_id:long_name = "generating process ID number" ; // navigation variables all use nav dimension char nav_model(nav, nav_len) ; // navigation parameterization nav_model:long_name = "navigation model name" ; int grid_type_code(nav) ; grid_type_code:long_name = "GRIB-1 GDS data representation type" ; char grid_type(nav, nav_len) ; grid_type:long_name = "GRIB-1 grid type" ; char grid_name(nav, nav_len) ; grid_name:long_name = "grid name" ; int grid_center(nav) ; grid_center:long_name = "GRIB-1 originating center ID" ; int grid_number(nav, ngrids) ; grid_number:long_name = "GRIB-1 catalogued grid numbers" ; grid_number:_FillValue = -9999 ; char i_dim(nav, nav_len) ; i_dim:long_name = "longitude dimension name" ; char j_dim(nav, nav_len) ; j_dim:long_name = "latitude dimension name" ; int Ni(nav) ; Ni:long_name = "number of points along a latitude circle" ; int Nj(nav) ; Nj:long_name = "number of points along a longitude circle" ; float La1(nav) ; La1:long_name = "latitude of first grid point" ; La1:units = "degrees_north" ; float Lo1(nav) ; Lo1:long_name = "longitude of first grid point" ; Lo1:units = "degrees_east" ; float La2(nav) ; La2:long_name = "latitude of last grid point" ; La2:units = "degrees_north" ; float Lo2(nav) ; Lo2:long_name = "longitude of last grid point" ; Lo2:units = "degrees_east" ; float Di(nav) ; Di:long_name = "longitudinal direction increment" ; Di:units = "degrees" ; float N(nav) ; N:long_name = "# of parallels between a pole and equator" ; N:units = "" ; byte ResCompFlag(nav) ; ResCompFlag:long_name = "resolution and component flags" ; // end of navigation variables float u_flx_sfc(record,lat,lon) ; u_flx_sfc:long_name = "Momentum flux, u component at surface of the earth" ; u_flx_sfc:GRIB_parameter_number = 124 ; u_flx_sfc:GRIB_level_flag = 1 ; u_flx_sfc:units = "N/m2" ; u_flx_sfc:_FillValue = -9999.f ; u_flx_sfc:navigation = "nav" ; float v_flx_sfc(record,lat,lon) ; v_flx_sfc:long_name = "Momentum flux, v component at surface of the earth" ; v_flx_sfc:GRIB_parameter_number = 125 ; v_flx_sfc:GRIB_level_flag = 1 ; v_flx_sfc:units = "N/m2" ; v_flx_sfc:_FillValue = -9999.f ; v_flx_sfc:navigation = "nav" ; float sen_ht_sfc(record,lat,lon) ; sen_ht_sfc:long_name = "Sensible heat flux at surface of the earth" ; sen_ht_sfc:GRIB_parameter_number = 122 ; sen_ht_sfc:GRIB_level_flag = 1 ; sen_ht_sfc:units = "W/m2" ; sen_ht_sfc:_FillValue = -9999.f ; sen_ht_sfc:navigation = "nav" ; float lat_ht_sfc(record,lat,lon) ; lat_ht_sfc:long_name = "Latent heat flux at surface of the earth" ; lat_ht_sfc:GRIB_parameter_number = 121 ; lat_ht_sfc:GRIB_level_flag = 1 ; lat_ht_sfc:units = "W/m2" ; lat_ht_sfc:_FillValue = -9999.f ; lat_ht_sfc:navigation = "nav" ; float T_sfc(record,lat,lon) ; T_sfc:long_name = "Temperature at surface of the earth" ; T_sfc:GRIB_parameter_number = 11 ; T_sfc:GRIB_level_flag = 1 ; T_sfc:units = "degK" ; T_sfc:_FillValue = -9999.f ; T_sfc:navigation = "nav" ; float T_lbls(record,lbls,lat,lon) ; T_lbls:long_name = "Temperature at layer between 2 depths below land surface" ; T_lbls:GRIB_parameter_number = 11 ; T_lbls:GRIB_level_flag = 112 ; T_lbls:units = "degK" ; T_lbls:_FillValue = -9999.f ; T_lbls:navigation = "nav" ; float T_hctl(record,lat,lon) ; T_hctl:long_name = "Temperature at high cloud top level" ; T_hctl:GRIB_parameter_number = 11 ; T_hctl:GRIB_level_flag = 233 ; T_hctl:units = "degK" ; T_hctl:_FillValue = -9999.f ; T_hctl:navigation = "nav" ; float T_mctl(record,lat,lon) ; T_mctl:long_name = "Temperature at middle cloud top level" ; T_mctl:GRIB_parameter_number = 11 ; T_mctl:GRIB_level_flag = 223 ; T_mctl:units = "degK" ; T_mctl:_FillValue = -9999.f ; T_mctl:navigation = "nav" ; float T_lctl(record,lat,lon) ; T_lctl:long_name = "Temperature at low cloud top level" ; T_lctl:GRIB_parameter_number = 11 ; T_lctl:GRIB_level_flag = 213 ; T_lctl:units = "degK" ; T_lctl:_FillValue = -9999.f ; T_lctl:navigation = "nav" ; float T_fhg(record,fhg,lat,lon) ; T_fhg:long_name = "Temperature at fixed height above ground" ; T_fhg:GRIB_parameter_number = 11 ; T_fhg:GRIB_level_flag = 105 ; T_fhg:units = "degK" ; T_fhg:_FillValue = -9999.f ; T_fhg:navigation = "nav" ; float soilw_lbls(record,lbls,lat,lon) ; soilw_lbls:long_name = "Volumetric soil moisture content at layer between 2 depths below land surface" ; soilw_lbls:GRIB_parameter_number = 144 ; soilw_lbls:GRIB_level_flag = 112 ; soilw_lbls:units = "" ; soilw_lbls:_FillValue = -9999.f ; soilw_lbls:navigation = "nav" ; float snow_wat(record,lat,lon) ; snow_wat:long_name = "Water equivalent of accumulated snow depth at surface of the earth" ; snow_wat:GRIB_parameter_number = 65 ; snow_wat:GRIB_level_flag = 1 ; snow_wat:units = "kg/m2" ; snow_wat:_FillValue = -9999.f ; snow_wat:navigation = "nav" ; float dlwrf_sfc(record,lat,lon) ; dlwrf_sfc:long_name = "Downward long wave rad. flux at surface of the earth" ; dlwrf_sfc:GRIB_parameter_number = 205 ; dlwrf_sfc:GRIB_level_flag = 1 ; dlwrf_sfc:units = "W/m2" ; dlwrf_sfc:_FillValue = -9999.f ; dlwrf_sfc:navigation = "nav" ; float ulwrf_sfc(record,lat,lon) ; ulwrf_sfc:long_name = "Upward long wave rad. flux at surface of the earth" ; ulwrf_sfc:GRIB_parameter_number = 212 ; ulwrf_sfc:GRIB_level_flag = 1 ; ulwrf_sfc:units = "W/m2" ; ulwrf_sfc:_FillValue = -9999.f ; ulwrf_sfc:navigation = "nav" ; float ulwrf_topa(record,lat,lon) ; ulwrf_topa:long_name = "Upward long wave rad. flux at nominal top of atmosphere" ; ulwrf_topa:GRIB_parameter_number = 212 ; ulwrf_topa:GRIB_level_flag = 8 ; ulwrf_topa:units = "W/m2" ; ulwrf_topa:_FillValue = -9999.f ; ulwrf_topa:navigation = "nav" ; float uswrf_topa(record,lat,lon) ; uswrf_topa:long_name = "Upward short wave rad. flux at nominal top of atmosphere" ; uswrf_topa:GRIB_parameter_number = 211 ; uswrf_topa:GRIB_level_flag = 8 ; uswrf_topa:units = "W/m2" ; uswrf_topa:_FillValue = -9999.f ; uswrf_topa:navigation = "nav" ; float uswrf_sfc(record,lat,lon) ; uswrf_sfc:long_name = "Upward short wave rad. flux at surface of the earth" ; uswrf_sfc:GRIB_parameter_number = 211 ; uswrf_sfc:GRIB_level_flag = 1 ; uswrf_sfc:units = "W/m2" ; uswrf_sfc:_FillValue = -9999.f ; uswrf_sfc:navigation = "nav" ; float dswrf_sfc(record,lat,lon) ; dswrf_sfc:long_name = "Downward short wave rad. flux at surface of the earth" ; dswrf_sfc:GRIB_parameter_number = 204 ; dswrf_sfc:GRIB_level_flag = 1 ; dswrf_sfc:units = "W/m2" ; dswrf_sfc:_FillValue = -9999.f ; dswrf_sfc:navigation = "nav" ; float N_hcy(record,lat,lon) ; N_hcy:long_name = "Total cloud cover at highcloud layer" ; N_hcy:GRIB_parameter_number = 71 ; N_hcy:GRIB_level_flag = 234 ; N_hcy:units = "percent" ; N_hcy:_FillValue = -9999.f ; N_hcy:navigation = "nav" ; float N_mcy(record,lat,lon) ; N_mcy:long_name = "Total cloud cover at middle cloud layer" ; N_mcy:GRIB_parameter_number = 71 ; N_mcy:GRIB_level_flag = 224 ; N_mcy:units = "percent" ; N_mcy:_FillValue = -9999.f ; N_mcy:navigation = "nav" ; float N_lcy(record,lat,lon) ; N_lcy:long_name = "Total cloud cover at low cloud layer" ; N_lcy:GRIB_parameter_number = 71 ; N_lcy:GRIB_level_flag = 214 ; N_lcy:units = "percent" ; N_lcy:_FillValue = -9999.f ; N_lcy:navigation = "nav" ; float N_atm(record,lat,lon) ; N_atm:long_name = "Total cloud cover at entire atmosphere considered as a single layer" ; N_atm:GRIB_parameter_number = 71 ; N_atm:GRIB_level_flag = 200 ; N_atm:units = "percent" ; N_atm:_FillValue = -9999.f ; N_atm:navigation = "nav" ; float N_ccy(record,lat,lon) ; N_ccy:long_name = "Total cloud cover at convective cloud layer" ; N_ccy:GRIB_parameter_number = 71 ; N_ccy:GRIB_level_flag = 244 ; N_ccy:units = "percent" ; N_ccy:_FillValue = -9999.f ; N_ccy:navigation = "nav" ; float N_bcy(record,lat,lon) ; N_bcy:long_name = "Total cloud cover at boundary layer cloud layer" ; N_bcy:GRIB_parameter_number = 71 ; N_bcy:GRIB_level_flag = 211 ; N_bcy:units = "percent" ; N_bcy:_FillValue = -9999.f ; N_bcy:navigation = "nav" ; float P_hctl(record,lat,lon) ; P_hctl:long_name = "Pressure at high cloud top level" ; P_hctl:GRIB_parameter_number = 1 ; P_hctl:GRIB_level_flag = 233 ; P_hctl:units = "Pa" ; P_hctl:_FillValue = -9999.f ; P_hctl:navigation = "nav" ; float P_hcbl(record,lat,lon) ; P_hcbl:long_name = "Pressure at high cloud bottom level" ; P_hcbl:GRIB_parameter_number = 1 ; P_hcbl:GRIB_level_flag = 232 ; P_hcbl:units = "Pa" ; P_hcbl:_FillValue = -9999.f ; P_hcbl:navigation = "nav" ; float P_mctl(record,lat,lon) ; P_mctl:long_name = "Pressure at middle cloud top level" ; P_mctl:GRIB_parameter_number = 1 ; P_mctl:GRIB_level_flag = 223 ; P_mctl:units = "Pa" ; P_mctl:_FillValue = -9999.f ; P_mctl:navigation = "nav" ; float P_mcbl(record,lat,lon) ; P_mcbl:long_name = "Pressure at middle cloud bottom level" ; P_mcbl:GRIB_parameter_number = 1 ; P_mcbl:GRIB_level_flag = 222 ; P_mcbl:units = "Pa" ; P_mcbl:_FillValue = -9999.f ; P_mcbl:navigation = "nav" ; float P_lctl(record,lat,lon) ; P_lctl:long_name = "Pressure at low cloud top level" ; P_lctl:GRIB_parameter_number = 1 ; P_lctl:GRIB_level_flag = 213 ; P_lctl:units = "Pa" ; P_lctl:_FillValue = -9999.f ; P_lctl:navigation = "nav" ; float P_lcbl(record,lat,lon) ; P_lcbl:long_name = "Pressure at low cloud bottom level" ; P_lcbl:GRIB_parameter_number = 1 ; P_lcbl:GRIB_level_flag = 212 ; P_lcbl:units = "Pa" ; P_lcbl:_FillValue = -9999.f ; P_lcbl:navigation = "nav" ; float P_sfc(record,lat,lon) ; P_sfc:long_name = "Pressure at surface of the earth" ; P_sfc:GRIB_parameter_number = 1 ; P_sfc:GRIB_level_flag = 1 ; P_sfc:units = "Pa" ; P_sfc:_FillValue = -9999.f ; P_sfc:navigation = "nav" ; float P_cctl(record,lat,lon) ; P_cctl:long_name = "Pressure at convective cloud top height" ; P_cctl:GRIB_parameter_number = 1 ; P_cctl:GRIB_level_flag = 243 ; P_cctl:units = "Pa" ; P_cctl:_FillValue = -9999.f ; P_cctl:navigation = "nav" ; float P_ccbl(record,lat,lon) ; P_ccbl:long_name = "Pressure at convective cloud bottom height" ; P_ccbl:GRIB_parameter_number = 1 ; P_ccbl:GRIB_level_flag = 242 ; P_ccbl:units = "Pa" ; P_ccbl:_FillValue = -9999.f ; P_ccbl:navigation = "nav" ; float precip_rt(record,lat,lon) ; precip_rt:long_name = "Precipitation rate at surface of the earth" ; precip_rt:GRIB_parameter_number = 59 ; precip_rt:GRIB_level_flag = 1 ; precip_rt:units = "kg/(m2 s)" ; precip_rt:_FillValue = -9999.f ; precip_rt:navigation = "nav" ; float cprat(record,lat,lon) ; cprat:long_name = "Convective precipitation rate at surface of the earth" ; cprat:GRIB_parameter_number = 214 ; cprat:GRIB_level_flag = 1 ; cprat:units = "kg/m2/s" ; cprat:_FillValue = -9999.f ; cprat:navigation = "nav" ; float gflux(record,lat,lon) ; gflux:long_name = "Ground heat flux at surface of the earth" ; gflux:GRIB_parameter_number = 155 ; gflux:GRIB_level_flag = 1 ; gflux:units = "W/m2" ; gflux:_FillValue = -9999.f ; gflux:navigation = "nav" ; float land_mask_sfc(record,lat,lon) ; land_mask_sfc:long_name = "Land-sea mask (1=land; 0=sea) at surface of the earth" ; land_mask_sfc:GRIB_parameter_number = 81 ; land_mask_sfc:GRIB_level_flag = 1 ; land_mask_sfc:units = "bit" ; land_mask_sfc:_FillValue = -9999.f ; land_mask_sfc:navigation = "nav" ; float ice_conc(record,lat,lon) ; ice_conc:long_name = "Ice concentration (ice=l; no ice=O) at surface of the earth" ; ice_conc:GRIB_parameter_number = 91 ; ice_conc:GRIB_level_flag = 1 ; ice_conc:units = "bit" ; ice_conc:_FillValue = -9999.f ; ice_conc:navigation = "nav" ; float u_fhg(record,fhg,lat,lon) ; u_fhg:long_name = "u-component of wind at fixed height above ground" ; u_fhg:GRIB_parameter_number = 33 ; u_fhg:GRIB_level_flag = 105 ; u_fhg:units = "m/s" ; u_fhg:_FillValue = -9999.f ; u_fhg:navigation = "nav" ; float v_fhg(record,fhg,lat,lon) ; v_fhg:long_name = "v-component of wind at fixed height above ground" ; v_fhg:GRIB_parameter_number = 34 ; v_fhg:GRIB_level_flag = 105 ; v_fhg:units = "m/s" ; v_fhg:_FillValue = -9999.f ; v_fhg:navigation = "nav" ; float spec_hum_fhg(record,fhg,lat,lon) ; spec_hum_fhg:long_name = "Specific humidity at fixed height above ground" ; spec_hum_fhg:GRIB_parameter_number = 51 ; spec_hum_fhg:GRIB_level_flag = 105 ; spec_hum_fhg:units = "kg/kg" ; spec_hum_fhg:_FillValue = -9999.f ; spec_hum_fhg:navigation = "nav" ; float Tmax_fhg(record,fhg,lat,lon) ; Tmax_fhg:long_name = "Maximum temperature at fixed height above ground" ; Tmax_fhg:GRIB_parameter_number = 15 ; Tmax_fhg:GRIB_level_flag = 105 ; Tmax_fhg:units = "degK" ; Tmax_fhg:_FillValue = -9999.f ; Tmax_fhg:navigation = "nav" ; float Tmin_fhg(record,fhg,lat,lon) ; Tmin_fhg:long_name = "Minimum temperature at fixed height above ground" ; Tmin_fhg:GRIB_parameter_number = 16 ; Tmin_fhg:GRIB_level_flag = 105 ; Tmin_fhg:units = "degK" ; Tmin_fhg:_FillValue = -9999.f ; Tmin_fhg:navigation = "nav" ; float watr(record,lat,lon) ; watr:long_name = "Water runoff at surface of the earth" ; watr:GRIB_parameter_number = 90 ; watr:GRIB_level_flag = 1 ; watr:units = "kg/m2" ; watr:_FillValue = -9999.f ; watr:navigation = "nav" ; float pevpr_sfc(record,lat,lon) ; pevpr_sfc:long_name = "Potential evaporation rate at surface of the earth" ; pevpr_sfc:GRIB_parameter_number = 145 ; pevpr_sfc:GRIB_level_flag = 1 ; pevpr_sfc:units = "W/m2" ; pevpr_sfc:_FillValue = -9999.f ; pevpr_sfc:navigation = "nav" ; float cwork_atm(record,lat,lon) ; cwork_atm:long_name = "Cloud workfunction at entire atmosphere considered as a single layer" ; cwork_atm:GRIB_parameter_number = 146 ; cwork_atm:GRIB_level_flag = 200 ; cwork_atm:units = "J/kg" ; cwork_atm:_FillValue = -9999.f ; cwork_atm:navigation = "nav" ; float u-gwd_sfc(record,lat,lon) ; u-gwd_sfc:long_name = "Zonal flux of gravity wave stress at surface of the earth" ; u-gwd_sfc:GRIB_parameter_number = 147 ; u-gwd_sfc:GRIB_level_flag = 1 ; u-gwd_sfc:units = "N/m2" ; u-gwd_sfc:_FillValue = -9999.f ; u-gwd_sfc:navigation = "nav" ; float v-gwd_sfc(record,lat,lon) ; v-gwd_sfc:long_name = "Meridional flux of gravity wave stress at surface of the earth" ; v-gwd_sfc:GRIB_parameter_number = 148 ; v-gwd_sfc:GRIB_level_flag = 1 ; v-gwd_sfc:units = "N/m2" ; v-gwd_sfc:_FillValue = -9999.f ; v-gwd_sfc:navigation = "nav" ; float hpbl_sfc(record,lat,lon) ; hpbl_sfc:long_name = "Planetary boundary layer height at surface of the earth" ; hpbl_sfc:GRIB_parameter_number = 221 ; hpbl_sfc:GRIB_level_flag = 1 ; hpbl_sfc:units = "m" ; hpbl_sfc:_FillValue = -9999.f ; hpbl_sfc:navigation = "nav" ; float pr_water_atm(record,lat,lon) ; pr_water_atm:long_name = "Precipitable water at entire atmosphere considered as a single layer" ; pr_water_atm:GRIB_parameter_number = 54 ; pr_water_atm:GRIB_level_flag = 200 ; pr_water_atm:units = "kg/m2" ; pr_water_atm:_FillValue = -9999.f ; pr_water_atm:navigation = "nav" ; float albedo_sfc(record,lat,lon) ; albedo_sfc:long_name = "Albedo at surface of the earth" ; albedo_sfc:GRIB_parameter_number = 84 ; albedo_sfc:GRIB_level_flag = 1 ; albedo_sfc:units = "percent" ; albedo_sfc:_FillValue = -9999.f ; albedo_sfc:navigation = "nav" ; // global attributes :history = "2005-01-20 14:22:38 - created by gribtocdl" ; :title = "Enter model definition here" ; :Conventions = "NUWG" ; :GRIB_reference = "Office Note 388 GRIB" ; :GRIB_URL = "http://www.nco.ncep.noaa.gov/pmb/docs/on388/" ; :version = 0.0 ; data: lbls_bot = 10.0, 200.0 ; lbls_top = 0.0, 10.0 ; fhg = 2.0, 10.0 ; model_id = 98 ; valtime_offset = 5 ; // Navigation nav_model = "GRIB1" ; grid_type_code = 4 ; grid_type = "Gaussian latitude/longitude" ; grid_name = " " ; grid_center = 7 ; grid_number = 98 ; Ni = 192 ; Nj = 94 ; La1 = -88.542000 ; Lo1 = 0.000000 ; La2 = 88.542000 ; Lo2 = -1.875000 ; Di = 1.875000 ; N = 47 ; ResCompFlag = 128 ; lon = 0.00, 1.88, 3.75, 5.62, 7.50, 9.38, 11.25, 13.12, 15.00, 16.88, 18.75, 20.62, 22.50, 24.38, 26.25, 28.12, 30.00, 31.88, 33.75, 35.62, 37.50, 39.38, 41.25, 43.12, 45.00, 46.88, 48.75, 50.62, 52.50, 54.38, 56.25, 58.12, 60.00, 61.88, 63.75, 65.62, 67.50, 69.38, 71.25, 73.12, 75.00, 76.88, 78.75, 80.62, 82.50, 84.38, 86.25, 88.12, 90.00, 91.88, 93.75, 95.62, 97.50, 99.38,101.25,103.12, 105.00,106.88,108.75,110.62,112.50,114.38,116.25,118.12, 120.00,121.88,123.75,125.62,127.50,129.38,131.25,133.12, 135.00,136.88,138.75,140.62,142.50,144.38,146.25,148.12, 150.00,151.88,153.75,155.62,157.50,159.38,161.25,163.12, 165.00,166.88,168.75,170.62,172.50,174.38,176.25,178.12, 180.00,181.88,183.75,185.62,187.50,189.38,191.25,193.12, 195.00,196.88,198.75,200.62,202.50,204.38,206.25,208.12, 210.00,211.88,213.75,215.62,217.50,219.38,221.25,223.12, 225.00,226.88,228.75,230.62,232.50,234.38,236.25,238.12, 240.00,241.88,243.75,245.62,247.50,249.38,251.25,253.12, 255.00,256.88,258.75,260.62,262.50,264.38,266.25,268.12, 270.00,271.88,273.75,275.62,277.50,279.38,281.25,283.12, 285.00,286.88,288.75,290.62,292.50,294.38,296.25,298.12, 300.00,301.88,303.75,305.62,307.50,309.38,311.25,313.12, 315.00,316.88,318.75,320.62,322.50,324.38,326.25,328.12, 330.00,331.88,333.75,335.62,337.50,339.38,341.25,343.12, 345.00,346.88,348.75,350.62,352.50,354.38,356.25,358.12 ; lat =-88.54,-86.63,-84.72,-82.80,-80.89,-78.98,-77.06,-75.15, -73.24,-71.32,-69.41,-67.50,-65.59,-63.67,-61.76,-59.85, -57.93,-56.02,-54.11,-52.19,-50.28,-48.37,-46.46,-44.54, -42.63,-40.72,-38.80,-36.89,-34.98,-33.06,-31.15,-29.24, -27.32,-25.41,-23.50,-21.59,-19.67,-17.76,-15.85,-13.93, -12.02,-10.11, -8.19, -6.28, -4.37, -2.46, -0.54, 1.37, 3.28, 5.20, 7.11, 9.02, 10.94, 12.85, 14.76, 16.68, 18.59, 20.50, 22.41, 24.33, 26.24, 28.15, 30.07, 31.98, 33.89, 35.81, 37.72, 39.63, 41.54, 43.46, 45.37, 47.28, 49.20, 51.11, 53.02, 54.94, 56.85, 58.76, 60.68, 62.59, 64.50, 66.41, 68.33, 70.24, 72.15, 74.07, 75.98, 77.89, 79.81, 81.72, 83.63, 85.54, 87.46 ; }