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.
questions are below: original catalog: <datasetFmrc name="RTOFS Forecast Model Run Collection" path="fmrc/rtofs"> <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2"> <aggregation dimName="runtime" type="forecastModelRunSingleCollection" timeUnitsChange="true" recheckEvery="10min"> <scanFmrc location="/usgs/data0/rsignell/models/rtofs" regExp=".*ofs_atl.*\.grib2$" runDateMatcher="#ofs.#yyyyMMdd" forecastOffsetMatcher="HHH#.grb.grib2#" subdirs="true" olderThan="10 min"/> <variable name="lat_rho" orgName="Latitude_of_Pressure_Point" shape="y x" type="float"> <attribute name="units" value="degrees_north"/> </variable> <variable name="lat_u" orgName="Latitude_of_U_Wind_Component_of_Velocity" shape="y x" type="float"> <attribute name="units" value="degrees_north"/> </variable> <variable name="lat_v" orgName="Latitude_of_V_Wind_Component_of_Velocity" shape="y x" type="float"> <attribute name="units" value="degrees_north"/> </variable> <variable name="lon_rho" orgName="Longitude_of_Pressure_Point" shape="y x" type="float"> <attribute name="units" value="degrees_east"/> </variable> <variable name="lon_u" orgName="Longitude_of_U_Wind_Component_of_Velocity" shape="y x" type="float"> <attribute name="units" value="degrees_east"/> </variable> <variable name="lon_v" orgName="Longitude_of_V_Wind_Component_of_Velocity" shape="y x" type="float"> <attribute name="units" value="degrees_east"/> </variable> <variable name="mixed_layer_depth" shape="time y x" type="float"> <attribute name="coordinates" value="lon_rho lat_rho"/> <attribute name="long_name" value="mixed_layer_depth @ surface"/> <attribute name="units" value="m"/> <attribute name="missing_value" type="float" value="NaN"/> <remove type="attribute" name="grid_mapping"/> </variable> <variable name="zeta" orgName="Sea_Surface_Height_Relative_to_Geoid" shape="time y x" type="float"> <attribute name="long_name" value="Sea_Surface_Height_Relative_to_Geoid @ surface"/> <attribute name="units" value="m"/> <attribute name="missing_value" type="float" value="NaN"/> <remove type="attribute" name="grid_mapping"/> </variable> <variable name="salt" orgName="Three-D_Salinity" shape="time depth_below_sea y x" type="float"> <attribute name="coordinates" value="lat_rho lon_rho"/> <attribute name="long_name" value="Three-D_Salinity @ depth_below_sea"/> <attribute name="units" value="1"/> <attribute name="missing_value" type="float" value="NaN"/> <remove type="attribute" name="grid_mapping"/> </variable> <variable name="temp" orgName="Three-D_Temperature" shape="time depth_below_sea y x" type="float"> <attribute name="coordinates" value="lat_rho lon_rho"/> <attribute name="long_name" value="Three-D_Temperature @ depth_below_sea"/> <attribute name="units" value="Celcius"/> <attribute name="missing_value" type="float" value="NaN"/> <remove type="attribute" name="grid_mapping"/> </variable> <variable name="u" orgName="U-component_of_current" shape="time depth_below_sea y x" type="float"> <attribute name="coordinates" value="lat_u lon_u"/> <attribute name="long_name" value="U-component_of_current @ depth_below_sea"/> <attribute name="units" value="m s-1"/> <attribute name="missing_value" type="float" value="NaN"/> <attribute name="grid_mapping" value="Curvilinear_Orthogonal_Grid"/> </variable> <variable name="v" orgName="V-component_of_current" shape="time depth_below_sea y x" type="float"> <attribute name="coordinates" value="lat_v lon_v"/> <attribute name="long_name" value="V-component_of_current @ depth_below_sea"/> <attribute name="units" value="m s-1"/> <attribute name="missing_value" type="float" value="NaN"/> <remove type="attribute" name="grid_mapping"/> </variable> <variable name="Vertical_velocity_geometric" shape="time depth_below_sea y x" type="float"> <attribute name="coordinates" value="lat_rho lon_rho"/> <attribute name="long_name" value="Vertical_velocity_geometric @ depth_below_sea"/> <attribute name="units" value="m s-1"/> <attribute name="missing_value" type="float" value="NaN"/> <remove type="attribute" name="grid_mapping"/> </variable> </aggregation> </netcdf> </datasetFmrc> 1) the ncml mostly looks like you are renaming variables? anything else going on? most of the problems went away when we started to support Curvilinear Orthogonal grids (strange ones, them). other than that, the new catalog could look like: <featureCollection featureType="FMRC" name="RTOFS Forecast Model Run Collection" path="fmrc/rtofs"> <collection spec="/usgs/data0/rsignell/models/rtofs/**/*.grib2" recheckEvery="10 min" olderThan="10 min" /> </featureCollection> 2) since they are grib files, they have the run/forecast dates inside and we dont need to parse the filenames (safer that way, less cognitive burden to get the regexp right). files are opened first time and metadata is cached. can you give me an idea of how many files there are? when do files get added or deleted ? 3) current default is to expose (in the catalog) the 2D fmrc dataset, the "best" dataset, and the component files. What would you want different? Ticket Details =================== Ticket ID: PSU-730086 Department: Support THREDDS Priority: Critical Status: Open