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.
On 2/24/2011 8:06 AM, Rich Signell wrote:
John, This message didn't go through to the support list. Was it because of the attached zip? Thanks Rich
dunno, i dont see a record of it in mailmain
---------- Forwarded message ---------- From: Rich Signell<address@hidden> Date: Wed, Feb 23, 2011 at 9:03 AM Subject: bug in joinExisting problem with these grib files To: address@hidden Cc: sdalyander<address@hidden> NJ folks, There appears to be bug with aggregation=joinExisting using the attached grib files, using the latest netcdf-java (build 2011-2-18). We have two grib2 files which each have 1 value for "time1" and 2 values for "time". If we join these two files along the time1 dimension, we get 4 values for time1 instead of 2. The first two values of time1 are correct times, so it's really just a question of getting rid of these last two bogus values, I guess.
the problem is that there are two time dimensions, but joinExisting can only operate on one of the them.
if you change to fmrc: <?xml version="1.0" encoding="UTF-8"?> <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2"> <aggregation dimName="time1" type="forecastModelRunCollection"> <scan location="." regExp=".*nam_218_[0-9]{8}_[0-9]{4}_[0-9]{3}\.grb$"/> </aggregation> </netcdf>things work correctly at the cost of an extra run dimension. can you use that?
netcdf fmrc:file:E:/work/signell/nam_agg9/.**/.*nam_218_[0-9]{8}_[0-9]{4}_[0-9]{3}\.grb$ {
dimensions: y = 361; x = 351; height_above_ground = 1; height_above_ground1 = 1; bounds_dim = 2; run = 1; time = 2; time1 = 4; variables: float Total_precipitation(run=1, time1=4, y=361, x=351); :units = "kg/m^2";:long_name = "Total_precipitation_Accumulation (Accumulation for Mixed Intervals) @ surface";
:cell_methods = "time: sum"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Total_precipitation"; :GRIB_param_short_name = "APCP"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 61; // int :GRIB_param_id = 1, 7, 2, 61; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time1 y x "; float Total_cloud_cover(run=1, time=2, y=361, x=351); :units = "%"; :long_name = "Total_cloud_cover @ entire_atmosphere"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Total_cloud_cover"; :GRIB_param_short_name = "TCDC"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 71; // int :GRIB_param_id = 1, 7, 2, 71; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 200; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x "; float Upward_long_wave_flux(run=1, time=2, y=361, x=351); :units = "W/m^2"; :long_name = "Upward_long_wave_flux @ surface"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Upward_long_wave_flux"; :GRIB_param_short_name = "ULWRF"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 212; // int :GRIB_param_id = 1, 7, 2, 212; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x "; float Upward_short_wave_flux(run=1, time=2, y=361, x=351); :units = "W/m^2"; :long_name = "Upward_short_wave_flux @ surface"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Upward_short_wave_flux"; :GRIB_param_short_name = "USWRF"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 211; // int :GRIB_param_id = 1, 7, 2, 211; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x ";float Relative_humidity(run=1, time=2, height_above_ground1=1, y=361, x=351);
:units = "%"; :long_name = "Relative_humidity @ height_above_ground"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Relative_humidity"; :GRIB_param_short_name = "RH"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 52; // int :GRIB_param_id = 1, 7, 2, 52; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 105; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time height_above_ground1 y x "; float Pressure(run=1, time=2, y=361, x=351); :units = "Pa"; :long_name = "Pressure @ surface"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Pressure"; :GRIB_param_short_name = "PRES"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 1; // int :GRIB_param_id = 1, 7, 2, 1; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x "; float v_wind(run=1, time=2, height_above_ground=1, y=361, x=351); :units = "m/s"; :long_name = "v_wind @ height_above_ground"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "v_wind"; :GRIB_param_short_name = "VGRD"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 34; // int :GRIB_param_id = 1, 7, 2, 34; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 105; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time height_above_ground y x "; float Temperature(run=1, time=2, height_above_ground1=1, y=361, x=351); :units = "K"; :long_name = "Temperature @ height_above_ground"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Temperature"; :GRIB_param_short_name = "TMP"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 11; // int :GRIB_param_id = 1, 7, 2, 11; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 105; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time height_above_ground1 y x "; float Temperature_surface(run=1, time=2, y=361, x=351); :units = "K"; :long_name = "Temperature @ surface"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Temperature"; :GRIB_param_short_name = "TMP"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 11; // int :GRIB_param_id = 1, 7, 2, 11; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x "; float Downward_long_wave_flux(run=1, time=2, y=361, x=351); :units = "W/m^2"; :long_name = "Downward_long_wave_flux @ surface"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Downward_long_wave_flux"; :GRIB_param_short_name = "DLWRF"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 205; // int :GRIB_param_id = 1, 7, 2, 205; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x "; float Downward_short_wave_flux(run=1, time=2, y=361, x=351); :units = "W/m^2"; :long_name = "Downward_short_wave_flux @ surface"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "Downward_short_wave_flux"; :GRIB_param_short_name = "DSWRF"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 204; // int :GRIB_param_id = 1, 7, 2, 204; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 1; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time y x "; float u_wind(run=1, time=2, height_above_ground=1, y=361, x=351); :units = "m/s"; :long_name = "u_wind @ height_above_ground"; :missing_value = -9999.0f; // float :grid_mapping = "Lambert_Conformal"; :GRIB_param_name = "u_wind"; :GRIB_param_short_name = "UGRD"; :GRIB_center_id = 7; // int :GRIB_table_id = 2; // int :GRIB_param_number = 33; // int :GRIB_param_id = 1, 7, 2, 33; // int :GRIB_product_definition_type = "Initialized analysis product"; :GRIB_level_type = 105; // int :GRIB_VectorComponentFlag = "gridRelative"; :coordinates = "run time height_above_ground y x "; char Lambert_Conformal; :long_name = ""; :grid_mapping_name = "lambert_conformal_conic"; :standard_parallel = 25.0; // double :longitude_of_central_meridian = -95.0; // double :latitude_of_projection_origin = 25.0; // double :earth_shape = "spherical"; :earth_radius = 6367.47021484375; // double :GRIB_param_Dx = 12191.0; // double :GRIB_param_Dy = 12191.0; // double :GRIB_param_GDSkey = 1926172536; // int :GRIB_param_La1 = 17.213; // double :GRIB_param_Latin1 = 25.0; // double :GRIB_param_Latin2 = 25.0; // double :GRIB_param_Lo1 = -104.523; // double :GRIB_param_LoV = -95.0; // double :GRIB_param_NpProj = "true"; :GRIB_param_Nx = 351; // int :GRIB_param_Ny = 361; // int :GRIB_param_ProjFlag = 0; // int :GRIB_param_ResCompFlag = 8; // int :GRIB_param_SpLat = 0.0; // double :GRIB_param_SpLon = 0.0; // double :GRIB_param_VectorComponentFlag = "gridRelative"; :GRIB_param_Winds = "Relative"; :GRIB_param_grid_name = "Lambert_Conformal"; :GRIB_param_grid_radius_spherical_earth = 6367.47; // double :GRIB_param_grid_shape = "spherical"; :GRIB_param_grid_shape_code = 0; // int :GRIB_param_grid_type = 3; // int :GRIB_param_grid_units = "m"; :GRIB_param_scanning_mode = 64; // int :_CoordinateTransformType = "Projection"; :_CoordinateAxisTypes = "GeoX GeoY"; double time1_bounds(run=1, time1=4, bounds_dim=2); :long_name = "bounds for time1"; double y(y=361); :units = "km"; :long_name = "y coordinate of projection"; :standard_name = "projection_y_coordinate"; :grid_spacing = "12.191 km"; :_CoordinateAxisType = "GeoY"; double x(x=351); :units = "km"; :long_name = "x coordinate of projection"; :standard_name = "projection_x_coordinate"; :grid_spacing = "12.191 km"; :_CoordinateAxisType = "GeoX"; double height_above_ground(height_above_ground=1); :units = "m"; :long_name = "Specified height level above ground"; :positive = "up"; :GRIB_level_type = "105"; :_CoordinateAxisType = "Height"; :_CoordinateZisPositive = "up"; double height_above_ground1(height_above_ground1=1); :units = "m"; :long_name = "Specified height level above ground"; :positive = "up"; :GRIB_level_type = "105"; :_CoordinateAxisType = "Height"; :_CoordinateZisPositive = "up"; double run(run=1); :long_name = "Run time for ForecastModelRunCollection"; :standard_name = "forecast_reference_time"; :units = "hours since 2010-09-19T00:00:00Z"; :_CoordinateAxisType = "RunTime"; double time(run=1, time=2); :long_name = "Forecast time for ForecastModelRunCollection"; :standard_name = "time"; :units = "hours since 2010-09-19T00:00:00Z"; :missing_value = NaN; // double :_CoordinateAxisType = "Time"; double time1(run=1, time1=4); :long_name = "Forecast time for ForecastModelRunCollection"; :standard_name = "time"; :units = "hours since 2010-09-19T00:00:00Z"; :missing_value = NaN; // double :_CoordinateAxisType = "Time"; :bounds = "time1_bounds"; :Conventions = "CF-1.4, _Coordinates"; :Originating_center = "US National Weather Service - NCEP(WMC) (7)"; :Generating_Model = "MESO NAM Model"; :Product_Type = "Forecast/Uninitialized Analysis/Image Product";:title = "US National Weather Service - NCEP(WMC) MESO NAM Model Forecast/Uninitialized Analysis/Image Product";
:institution = "Center US National Weather Service - NCEP(WMC) (7)"; :source = "Forecast/Uninitialized Analysis/Image Product";:history = "Direct read of GRIB-1 into NetCDF-Java 4 API ;\nFMRC 2D Dataset";
:CF:feature_type = "GRID"; :file_format = "GRIB-1";:location = "Proto fmrc:file:E:/work/signell/nam_agg9/.**/.*nam_218_[0-9]{8}_[0-9]{4}_[0-9]{3}\\.grb$";
:cdm_data_type = "GRID"; }