Sometimes it is desirable, maybe even necessary, to modify a dataset in order for it or the parameters in the dataset to properly appear in LAS. One way to do this is to create initialize scripts for ferret to use to "preprocess" the dataset. Another way to make certain types of changes is to use the NetCDF Markup Language (NcML) in tandem with a THREDDS server to modify or "fix" the datasets.
Much more information about using NcML to modify datasets within THREDDS can be found on the THREDDS site, but here's a quick example of what can be done.
PROBLEM: a particular dataset is not CF compliant because a parameter does not contain a standard_name attribute.
For example, let's say that we have a dataset that contains a variable called "water_u". If we use ncdump to look at that variable, we see something like:
float water_u(time, depth, lat, lon) ;
water_u:units = "meter/sec" ;
water_u:NAVO_code = 17 ;
water_u:_FillValue = -30000s ;
water_u:missing_value = -30000s ;
water_u:long_name = "Eastward Water Velocity" ;
water_u:add_offset = 0.f ;
water_u:scale_factor = 0.001f ;
Notice that this variable does not contain a "standard_name" attribute. If we were to host this dataset in a TDS, we could use NcML to add that attribute to the dataset.
<dataset name="Fukushima" ID="ncom_relo/fukushima" urlPath="ncom_relo/fukushima">
<metadata inherited="true" />
<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
<variable name="water_u">
<attribute name="standard_name" value="eastward_sea_water_velocity"/>
</variable>
</netcdf>
</dataset>
After having done that, now when we look at the dataset with ncdump, we'd see something like this:
float water_u(time, depth, lat, lon) ;
water_u:units = "meter/sec" ;
water_u:NAVO_code = 17 ;
water_u:_FillValue = -30000s ;
water_u:missing_value = -30000s ;
water_u:long_name = "Eastward Water Velocity" ;
water_u:add_offset = 0.f ;
water_u:scale_factor = 0.001f ;
water_u:standard_name = "eastward_sea_water_velocity" ;
As you can see, there is now a standard_name attribute defined for the water_u parameter - making it CF compliant. An important thing to note is that the dataset itself has not been modified in any way - but the TDS service is delivering the now CF compliant representation of that parameter to the user.
Other deficiencies that NcML can help overcome include missing units, undefined fill values, and of course, the ability to create aggregations from many individual files that occupy the same grid structure.
For more on that, please see the THREDDS documentation pages and the NcML tutorial.