Re: [netcdf-java] How to modify variable in existing netcdf4 file?

Hi Andreas:

Netcdf-Java does not support writing or modifying netcdf-4 files. You need
to use the netcdf-4 C library directly. Sorry.

John

On Wed, Apr 7, 2021 at 8:49 AM Andreas Imner <andreas.imner@xxxxxxxxx>
wrote:

> (... continuing since I clicked "Send" to soon)
>
> The NPE occurs because the 'ncfile.getLocation()' returns null
>
> My question is, is this supposed to work and am I doing something wrong?
> Or maybe this is not the way you are supposed to work with NetCDF -files
> that you want to modify the contents of?
>
> Den ons 7 apr. 2021 kl 16:33 skrev Andreas Imner <andreas.imner@xxxxxxxxx
> >:
>
>> Hi!
>> A am trying to use the Java NetCDF library to modify the data of a
>> variable in an existing NetCDF4 file.
>>
>> I use the 5.4.1 version of the Java library
>> I have version 4.7.4_2 of the netcdf C-library installed and it works
>> properly.
>>
>> The problem I get is that when opening the existing file for writing, a
>> NPE is thrown.
>>
>> My code looks something like this...
>>
>> NetcdfFormatWriter.Builder builder = 
>> NetcdfFormatWriter.openExisting("/temp/input.nc").setFormat(NetcdfFileFormat.NETCDF4).setNewFile(false);
>> NetcdfFormatWriter writer = builder.build();
>>
>> But when .build() is called an exception is thrown
>>
>> Exception in thread "main" java.lang.NullPointerException
>>      at ucar.nc2.NetcdfFiles.canonicalizeUriString(NetcdfFiles.java:359)
>>      at ucar.nc2.jni.netcdf.Nc4Iosp._open(Nc4Iosp.java:253)
>>      at ucar.nc2.jni.netcdf.Nc4Iosp.openForWriting(Nc4Iosp.java:239)
>>      at ucar.nc2.write.NetcdfFormatWriter.<init>(NetcdfFormatWriter.java:329)
>>      at ucar.nc2.write.NetcdfFormatWriter.<init>(NetcdfFormatWriter.java:49)
>>      at 
>> ucar.nc2.write.NetcdfFormatWriter$Builder.build(NetcdfFormatWriter.java:261)
>>
>> Looking at the code in the class Nc4Iosp.java
>>
>> private void _open(RandomAccessFile raf, NetcdfFile ncfile, boolean 
>> readOnly) throws IOException {
>>     ...
>> String location = NetcdfFiles.canonicalizeUriString(ncfile.getLocation());
>>
>>
>> _______________________________________________
> NOTE: All exchanges posted to Unidata maintained email lists are
> recorded in the Unidata inquiry tracking system and made publicly
> available through the web.  Users who post to any of the lists we
> maintain are reminded to remove any personal information that they
> do not want to be made public.
>
>
> netcdf-java mailing list
> netcdf-java@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe, visit:
> https://www.unidata.ucar.edu/mailing_lists/
>
  • 2021 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: