hi rich:
ugrid files seem to have a "face_node_connectivity" variable which i
assume contains array indexes (?). Can we assume that these are
identical across the files in the aggregation?
what is varying across the files? times ?
heres a dump of one of your files:
netcdf G:/work/signell/ugrid/ugrid01.nc {
dimensions:
node = 48451;
three = 3;
nele = 90415;
time = 3;
variables:
int fvcom_mesh;
:standard_name = "mesh_topology";
:dimension = 2; // int
:node_coordinates = "lon lat";
:face_coordinates = "lonc latc";
:face_node_connectivity = "nv";
float lat(node=48451);
:long_name = "nodal latitude";
:standard_name = "latitude";
:units = "degrees_north";
float lon(node=48451);
:long_name = "nodal longitude";
:standard_name = "longitude";
:units = "degrees_east";
int nv(three=3, nele=90415);
:long_name = "nodes surrounding element";
:standard_name = "face_node_connectivity";
:start_index = 1; // int
float time(time=3);
:long_name = "time";
:units = "days since 1858-11-17 00:00:00";
:format = "modified julian day (MJD)";
:time_zone = "UTC";
float zeta(time=3, node=48451);
:long_name = "Water Surface Elevation";
:units = "meters";
:standard_name = "sea_surface_height_above_geoid";
:coordinates = "time lat lon";
:type = "data";
:mesh = "fvcom_mesh";
:location = "node";
:NCO = "20121207";
:title = "GOM3 Nesting by yf.sun@xxxxxxxxxx";
:institution = "School for Marine Science and Technology";
:source = "FVCOM_3.0";
:history = "Fri Dec 7 07:23:01 2012: ncks -d time,0,2 -v
lon,lat,nv,fvcom_mesh,zeta,time
http://www.smast.umassd.edu:8080/thredds/dodsC/fvcom/hindcasts/30yr_gom3
file01.nc\nTue Dec 6 16:49:10 2011: ncks -D 4 -d time,0
http://www.smast.umassd.edu:8080/thredds/dodsC/fvcom/hindcasts/30yr_gom3
step1.nc\nmodel started at: 28/11/2011 23:39";
:references = "http://fvcom.smast.umassd.edu,
http://codfish.smast.umassd.edu";
:Conventions = "CF-1.0";
:CoordinateSystem = "Cartesian";
:CoordinateProjection = "none";
:Tidal_Forcing = "TIDAL ELEVATION FORCING IS OFF!";
:River_Forcing = "THERE ARE 50 RIVERS IN THIS MODEL.\nRIVER INFLOW IS
ON THE nodes WHERE TEMPERATURE AND SALINITY ARE calculated IN THE
MODEL.\nTHE FOLLOWING RIVER NAMES ARE
USED:\nConnecticut_CT\nFarmington_CT\nSalmon_CT\nQuinebaug_CT\nYantic_CT\nShetucket_CT\nHousatonic_CT\nQuinnipiac_CT\nNeponset_MA\nMerrimac_MA\nSpicket_MA\nThreemile_MA\nWading_MA\nTaunton_MA\nPaskamanset_MA\nQuashnet_MA\nJones_MA\nIndian_Head_MA\nCharles_MA\nAberjona_MA\nAlewife_MA\nSaugus_MA\nIpswich_MA\nParker_MA\nSt_John_basin_ME\nSt_John_dickey_ME\nSt_John_fish_ME\nAllagash_ME\nAroostook_ME\nSt_Croix_ME\nPenobscot_ME\nAndroscoggin_ME\nSaco_ME\nKennebec_ME\nWinnicut_NH\nExeter_NH\nLamprey_NH\nCocheco_NH\nIsinglass_NH\nHudson_Fort_Edward_NY\nHudson_Waterford_NY\nMohawk_NY\nHoosic_NY\nHunt_RI\nPawcatuck_RI\nPawtuxet_RI\nMoshassuck_RI\nBlackstone_RI\nTenmile_RI\nMill_RI";
:GroundWater_Forcing = "GROUND WATER FORCING IS OFF!";
:Surface_Heat_Forcing = "FVCOM variable surface heat forcing
file:\nFILE NAME:gom_n_forcing.nc\nSOURCE:FVCOM grid (unstructured)
surface forcing\nUnknown start date meta data format";
:Surface_Wind_Forcing = "FVCOM variable surface Wind forcing:\nFILE
NAME:gom_n_forcing.nc\nSOURCE:FVCOM grid (unstructured) surface
forcing\nUnknown start date meta data format";
:Surface_PrecipEvap_Forcing = "FVCOM periodic surface precip
forcing:\nFILE NAME:gom_n_forcing.nc\nSOURCE:FVCOM grid (unstructured)
surface forcing\nUnknown start date meta data format";
}
On 12/6/2012 4:00 PM, Signell, Richard wrote:
Thredds folks,
I have UGRID (unstructured grid) files I'm aggregating, so FMRC is out.
Plan B: Is there a way to use NcML to trick joinExisting aggregation
to give me an unlimited dimension for time?
I found this page:
http://www.unidata.ucar.edu/software/netcdf-java/CDM/Opendap.html
where it sounds like adding a global attribute via NcML
<attribute name="DODS_EXTRA/Unlimited_Dimension" value="time"/>
might have worked. But I tried it, and it doesn't.
Does anyone have another idea?
Thanks,
-Rich
On Tue, Dec 4, 2012 at 6:22 PM, Signell, Richard <rsignell@xxxxxxxx> wrote:
Thredds folks,
We've got 33 years of ocean model output in monthly NetCDF3 files
that we have been aggregating into a single virtual 33TB dataset using
joinExisting aggregation along the time dimension:
http://www.smast.umassd.edu:8080/thredds/hindcasts.html?dataset=fvcom/hindcasts/30yr_gom3
This works fine, but two issues have arisen:
1) the monthly files start at 0000 on the first day of the month, and
end on 2400 of the last day of the month. Thus when aggregated with
joinExisting, we get duplicate time and data values at the end of
every month.
2) when accessing the data via OPeNDAP, the dataset doesn't have an
unlimited time dimension. This causes the "nc3tonc4" conversion
program in NetCDF4-Python to try to read each variable in it's
entirety, which of course is problematic. If "nc3tonc4" sees an
unlimited dimension, it can "chunk" its way along.
So we could eliminate both these problems by using a FMRC aggregation, right?
Thanks,
Rich
--
Dr. Richard P. Signell (508) 457-2229
USGS, 384 Woods Hole Rd.
Woods Hole, MA 02543-1598