netcdf sgpallruc60X1.c0.980423.210000 { dimensions: time = UNLIMITED ; // (1 currently) x = 81 ; y = 62 ; pres = 37 ; variables: int base_time ; base_time:string = "23-Apr-98,21:00:00 GMT" ; base_time:long_name = "Base time in Epoch" ; base_time:units = "seconds since 1970-1-1 0:00:00 0:00" ; double time_offset(time) ; time_offset:long_name = "Time offset from base_time" ; time_offset:units = "seconds since 1998-04-23 21:00:00 0:00" ; double valid_time(time) ; valid_time:long_name = "valid time" ; valid_time:units = "hours since 1998-04-23 00:00:00 00" ; valid_time:calc = "both valid_time (as an offset in hours from valid_date) and time_offset (as an offset in seconds from base_time were taken from the time of the raw data file name, after the latter has been checked against the time stamp of all GRIB records in it." ; valid_time:valid_max = "24.f" ; valid_time:valid_min = "0.f" ; double forecast_period(time) ; forecast_period:long_name = "forecast period" ; forecast_period:units = "hours" ; forecast_period:description = "time period from model initiation (with analysis data) to valid time" ; forecast_period:value_0_explained = "Record is a zero hour forecast." ; forecast_period:value_\>0_explained = "Record is a bona fide forecast." ; forecast_period:value_-7777_explained = "Record is an analysis record (not a forecast)" ; float valid_date ; valid_date:long_name = "date of valid_time" ; valid_date:units = "day.time_zone [See format and note_2.]" ; valid_date:note_1 = "duplicates the reference date in \'units\' of valid_time" ; valid_date:purpose = "This field is created, so that this date can appear in data listing with valid_time and forecast_period. A reader friendly feature, at the expense of redundancy." ; valid_date:format = "yyyymmdd.zz in floating point (real) format; this non-standard foramt was chosen so that programmers will have only one standard way of accessing this reference date (by reading the reference date in the \'units\' attribute of valid_time." ; valid_date:note_2 = "If zz does not appear in ncdump listing, it means its value is equal to 00 and thus truncated." ; float avail_of_run(time) ; avail_of_run:long_name = "availability of model run (i.e., file containing run output)" ; avail_of_run:units = "(none)" ; avail_of_run:values = "1. (available); 0. (not available to ingest module);" ; avail_of_run:purpose = "This field is intended to be passed on to the platform sgpeta90X1.c1, where it is used to indicate when model run output is not available." ; float pres(pres) ; pres:long_name = "pressure at constant pressure surface" ; pres:units = "hPa" ; pres:valid_max = "1000.01f" ; pres:valid_min = "99.99f" ; float lat_PS(y, x) ; lat_PS:long_name = "latitude of the polar stereographic grid points" ; lat_PS:units = "degrees North" ; lat_PS:mapping = "latPS increases mainly with index y, while it also varies slightly with x" ; lat_PS:note = "That is because the grid is polar stereographic" ; lat_PS:valid_max = "91.01f" ; lat_PS:valid_min = "-90.01f" ; float lon_PS(y, x) ; lon_PS:long_name = "longitude of the polar stereographic grid points" ; lon_PS:units = "degrees East" ; lon_PS:mapping = "lonPS increases mainly with index x, while it also varies slightly with y" ; lon_PS:note = "That is because the grid is polar stereographic" ; lon_PS:valid_max = "360.01f" ; lon_PS:valid_min = "-360.01f" ; float lat ; lat:long_name = "north latitude" ; lat:units = "degrees" ; lat:valid_range = -90.f, 90.f ; float lon ; lon:long_name = "east longitude" ; lon:units = "degrees" ; lon:valid_range = -180.f, 180.f ; float alt ; alt:long_name = "altitude" ; alt:units = "meters above Mean Sea Level" ; // global attributes: :Date = "Sun Apr 26 04:33:40 1998" ; :Version = "Exp" ; :Command_Line = "/apps/vip/bin/allruc60 -i sgpallruc60X1.00.980423.210000.raw" ; :Input_Platforms = "none; ingest from external file" ; :BW_Version = "Release_3_2" ; :title = "\"Rapid Update Cycle\" ;" ; :type = "\"Isobaric variables on isobaric surfaces\" ;" ; :history = "created by Zeb DataStore, 26-Apr-98,4:33:40, $RCSfile: DFA_NetCDF.c,v $ $Revision: 3.47 $\n", "" ; :inclusion = "\"analysis data only; 0,1,2 hr. forecast were excluded\" ;" ; :scale = "\"60km at 40N\" ;" ; :Temporal_Reporting_Interval = "\"3 hours\" ;" ; :latlon_SW_corner = "\"22.837, -120.491\" ;" ; :latlon_SE_corner = "\"20.090, -81.244\" ;" ; :latlon_NW_corner = "\"52.463, -136.455\" ;" ; :latlon_NE_corner = "\"45.989, -60.829\" ;" ; :Data_Volume_per_reporting_interval = "\"4 megabytes\" ;" ; :record = "valid_time, forecast_period" ; :record_explained = "the output of one model run which is stored as a time dependent sample" ; :record_stored = "This file contains one record, i.e., RUC model output, from only one of the following eight daily runs now ingested into allruc60 platforms:" ; :analysis/forecast_period = "an, an, an, an, an, an, an, an" ; :time_of_day = "0z, 3z, 6z, 9z, 12z, 15z, 18z, 21z (time of day at valid_time)" ; :source = "NMC (National Meteorological Center)" ; :source_format = "GRIB" ; :grid_type = "N. Hemisphere polar stereographic (GRIB grid #87)" ; :index_x = "ranges from 1 (west) to Nx (east), fastest moving" ; :index_y = "ranges from 1 (south) to Ny (north), second fastest" ; :index_pres = "ranges from 1 (1000mb) to 37 (100mb)" ; :index_time = "slowest moving; only 1 record per file in this platform" ; :missing-data = "-9999.0f" ; :no-value-expected = "-7777.0f" ; :zeb_platform = "sgpallruc60X1.c0" ; }