the netCDF library has been ported to a wide range of platform and it can be used with a large number of programming languages : FORTRAN, C, C++, Perl, JAVA and Python.
To read netCDF files you need to have the netCDF library installed on you computer. This is a straight forward procedure explained in detail in the INSTALL file provided with the software.
The simplest way to check if netCDF is installed is to see if any of the utilities which come with it are on your system. Try the following command: "which ncdump". If it gives you a path to the ncdump utility then netCDF is installed and you can guess the location of the library (../lib) and the include files (../include).
You can get the netCDF package directly from UNIDATA but also from its mirror sites. The current version is 3.5.
When you install the netCDF library the ncdump utility will also be created on you system. This program will display the content of a netCDF file as ASCII on your screen. NetCDF has a variety of options. The most important one is probably to limit the dump to the head of the file : -h.
There is a wide range of graphical programs which can plot the content of netCDF files. Take a look at the list of software available at UNIDATA.
It is worthwhile to test a few before deciding which one suits best your needs.
This is a sore point in netCDF. For the moment compression of data is not possible. One must say that it is a difficult endeavor to combine direct access to a file and data compression. UNIDATA is working on this issue and a solution should be found soon.
In land-surface modelling we have the possibility to compress the data by gathering. This means that only the points on which data is available and an indexing array are stored. When the data is read, the data points are scattered with the help of the indexing array onto the longitude latitude grid.
This is a good question as it might seem cumbersome to write data into a netCDF file. But one has to keep in mind that each call to a netCDF subroutine one has to include into his program in order to generate a file, corresponds to piece of information that would not have been present in a simple ASCII file. Indeed, in previous inter-comparison ASCII files were provided and a long README file was needed to explain the data format, the units of the variables, the geographical location of the data and so on. With the ALMA data exchange convention all is in one file and can be understood by any program.
This really depends on your working environment and how much time you can invest in the first inter-comparison you will do with this new data format. The easiest option is to write a converter from the ALMA format to whatever you had before. A more long term approach would be to include the ALMA format reader into you land-surface scheme. As in this case more information is read from the forcing file your model should become easier to run.
In any case this investment will be a one time thing as all future inter-comparisons will be asked to use the ALMA data exchange format.
This can be done. At IPSL we have developed a programming interface which makes this easier. An example can be seen in the IPSL land-surface driver which is provided to describe the PILPS-4c interface.
In this case your best bet is probably to take one of the examples provided in the bazaar and add the lines needed to write the data in your in-house format.
You can probably write a short shell-script which uses the NCO tools to perform the right transformations in order to make the netCDF file provided by the inter-comparison project compatible with your land-surface driver. With these utilities you can rename variables and attributes. To change the sign convention or units you can use the program in the bazaar.
Yes, you can add the calls to the netCDF subroutines to generate the file and write the data. IOIPSL has a modules which makes this task simpler. The advantage of this approach is that the files your land-surface scheme will produce will be simple to analyze with the choice of software which is able to read netCDF files.
Using the examples of the bazaar which produced the forcing data you should not have any problems to write a converter from your in-house format to netCDF.
Here again a short shell-script which uses the NCO tools should do the trick.
The quality check software available in the bazaar should do that for you.
Any of the packages described at UNIDATA should fulfill your needs. Take the time to choose the software package which suits best your needs.