Re: [thredds] Advantages of using FMRC over JoinExisting

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






  • 2012 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: