<div dir="ltr">Dear Wei-keng,<div><br></div><div>Thanks to your suggestion I was able to work around the issue, just to be faced with a different error about "Index exceeds dimension bound". </div><div><br></div><div>My code now looks like this:</div><div><br></div><div><pre class="gmail-m_9218354630106628330gmail-wiki" style="background:rgb(247,247,247);border:1px solid rgb(215,215,215);margin:1em 1.75em;padding:0.25em;overflow:auto"><font color="#000000"><span style="font-size:13px;white-space:pre-wrap">ncstat = nfmpi_inq_varid(emisa_nc%id, 'Times', emisa_times_varid); NCERR(__LINE__)
ncstat = nfmpi_inq_vardimid(emisa_nc%id,emisa_times_varid,dimidz); NCERR(__LINE__)
write(*,*) "EMISA_TIMES HAS DIMID(1) = ",dimidz(1)
write(*,*) "EMISA TIMES HAS DIMID(2) = ",dimidz(2)
ncstat = nfmpi_inq_dim(emisa_nc%id,dimidz(1),dimchar1,lengttt1); NCERR(__LINE__)
ncstat = nfmpi_inq_dim(emisa_nc%id,dimidz(2),dimchar2,lengttt2); NCERR(__LINE__)
write(*,*) "DIMID(1) LENGTH = ",lengttt1
write(*,*) "DIMID(1) NAME   = ",dimchar1
write(*,*) "DIMID(2) LENGTH = ",lengttt2
write(*,*) "DIMID(2) NAME = ",dimchar2
ncstat = nfmpi_get_vara_text_all(emisa_nc%id, emisa_times_varid, &
 &   (/i2offset(1), i2offset(ihourrun+1)/), (/i2offset(dlen), i2offset(1)/), datebuf)
NCERR(__LINE__)<br></span></font></pre></div><div>It appears that the correct varable id for "Times" was actually 4 from the Fortran point of view. "Times" have two dimensions: 1 to store the  time itself in format "YYYY/MM/DD hh:mm:ss" (total length 19 characters), and 2 is the unlimited dimension time.</div><div><br></div><div>Now while dimension one with name "DateStrLen" has a correct length of 19, the time dimension has apparently a length of 0, thus generating the aforementioned error.</div><div>By checking on the file with other tools that dimension is unlimited but should have length 3 in the file.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-05-26 14:14 GMT+02:00 Federico Carotenuto <span dir="ltr"><<a href="mailto:carotenuto.federico@gmail.com" target="_blank">carotenuto.federico@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Dear Wei-keng,</div><div><br></div>Thank you for your quick reply! Sorry if I'm replying via email but I can't find an option to reply to the ticket directly.<br><div><br></div><div>I followed your suggestion and modified the source code in the following way, in order to echo the value of emisa_times_varid before NCERR</div><div><br></div><div><pre class="m_9218354630106628330gmail-wiki" style="background:rgb(247,247,247);border:1px solid rgb(215,215,215);margin:1em 1.75em;padding:0.25em;overflow:auto;color:rgb(0,0,0);font-size:13px">write(*,*) "EMISA_TIMES_VARID =",emisa_times_varid
ncstat = nfmpi_get_vara_text_all(emisa_<wbr>nc%id, emisa_times_varid, &
         &   (/i2offset(1), i2offset(ihourrun+1)/), (/i2offset(dlen), i2offset(1)/), datebuf)
write(*,*) "EMISA_TIMES_VARID AFTER =",emisa_times_varid
          NCERR(__LINE__)</pre></div><div class="gmail_extra"><br><div class="gmail_quote">In both cases, before and after the call to nfmpi, the value of emisa_times_varid is 0. </div><div class="gmail_quote"><br></div><div class="gmail_quote">As your links states that is effectively the NC_GLOBAL constant for Fortran. </div><div><div class="h5"><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">2017-05-25 18:46 GMT+02:00 parallel-netcdf <span dir="ltr"><<a href="mailto:parallel-netcdf@mcs.anl.gov" target="_blank">parallel-netcdf@mcs.anl.gov</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>#30: Action prohibited on NC_GLOBAL varid<br>
------------------------------<wbr>------------------------------<wbr>-----+----------<br>
</span> Reporter:  Federico Carotenuto <carotenuto.federico@…>          |       Owner:  wkliao<br>
     Type:  defect/bug                                           |      Status:  assigned<br>
<span> Priority:  major                                                |   Milestone:<br>
Component:  parallel-netcdf                                      |     Version:  1.8.1<br>
 Keywords:                                                       |<br>
------------------------------<wbr>------------------------------<wbr>-----+----------<br>
</span>Changes (by wkliao):<br>
<br>
  * owner:  robl => wkliao<br>
  * status:  new => assigned<br>
<br>
<br>
Comment:<br>
<br>
 Hi,<br>
<br>
 The Fortran constant NF_GLOBAL is defined in both NetCDF and PnetCDF as<br>
 value 0.<br>
 Its corresponding constant in C library NC_GLOBAL is defined as value -1.<br>
 The variable ID returned from the Fortran nfmpi_def_var API should have a<br>
 value larger than 0.<br>
 You might want to check the value of emisa_times_varid right after the<br>
 call to nfmpi_def_var.<br>
 Do let me know if you got 0 for emisa_times_varid.<br>
<br>
 The MATLAB may return a value that is C based.<br>
<br>
 See definition of nf_global in the NetCDF Fortran header file from this<br>
 URL[[br]]<br>
 <a href="https://github.com/Unidata/netcdf-" rel="noreferrer" target="_blank">https://github.com/Unidata/ne<wbr>tcdf-</a><br>
 fortran/blob/master/fortran/n<wbr>etcdf3.inc#L96<br>
<br>
 and PnetCDF Fortran header files from[[br]]<br>
 <a href="https://trac.mcs.anl.gov/projects/parallel-" rel="noreferrer" target="_blank">https://trac.mcs.anl.gov/proj<wbr>ects/parallel-</a><br>
 netcdf/browser/trunk/src/<wbr>libf/<a href="http://pnetcdf.inc.in#L161" rel="noreferrer" target="_blank">pnetcdf.inc.in#L161</a><br>
<br>
 Wei-keng<br>
<span class="m_9218354630106628330HOEnZb"><font color="#888888"><br>
--<br>
Ticket URL: <<a href="http://trac.mcs.anl.gov/projects/parallel-netcdf/ticket/30#comment:1" rel="noreferrer" target="_blank">http://trac.mcs.anl.gov/proje<wbr>cts/parallel-netcdf/ticket/30#<wbr>comment:1</a>><br>
parallel-netcdf <<a href="https://trac.mcs.anl.gov/projects/parallel-netcdf" rel="noreferrer" target="_blank">https://trac.mcs.anl.gov/proj<wbr>ects/parallel-netcdf</a>><br>
<br>
</font></span></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>