ep2764@columbia_edu
Member
Hi all!
I am running into an issue with some code mods I have created. I am using CESM1.2.2. My code crashes when I try to read in a particular variable from a netCDF using pio. In this case the variable has 4 dimensions. I am not sure why it is crashing, I have copied the relevant code below:
real(r8), allocatable, dimension(:,:,:,:) :: epp_meped_flux
integer :: lev_did, lat_did, mlt_did, time_did, flux_vid, levels_vid, maglat_vid, mlt_vid, time_vid
...
... I get the dimensions in some code here without issue
...
...
allocate(epp_meped_flux(epp_meped_nMLTs, epp_meped_nLats, epp_meped_nLevs, epp_meped_nDates))
...
... I get several 1-dim variables here without issue
...
ierr = pio_inq_varid(fid, 'flux', flux_vid)
ierr = pio_get_var(fid, flux_vid, epp_meped_flux)
if (masterproc) then
write(iulog,*) 'epp_meped_param_init(): flux retrieved.'
endif
The program crashes somewhere between the start of the pio_inq_varid line and the write statement. I have similar blocks of code for all of my variables (all 1-dimensional), and they all retrieve the data without issue. This makes me think it has something to do with the variable being 4-dim. Is there a limitation in pio for the number of dimensions in a variable?
The error reported in the cesm log is:
ERROR: 0031-161 EOF on socket connection with node ys1809-ib
INFO: 0031-639 Exit status from pm_respond = -1
ERROR: 0031-028 pm_mgr_handle; can't send a signal message to remote nodes
ERROR: 0031-619 No such file or directory
INFO: 0031-029 Caught signal 2 (Interrupt), sending to tasks...
ERROR: 0031-028 pm_mgr_handle; can't send a signal message to remote nodes
ERROR: 0031-619 No such file or directory
There is no error reported in the atm log. I am attaching all of them to this post.
Thanks for any advice!
-Ethan
I am running into an issue with some code mods I have created. I am using CESM1.2.2. My code crashes when I try to read in a particular variable from a netCDF using pio. In this case the variable has 4 dimensions. I am not sure why it is crashing, I have copied the relevant code below:
real(r8), allocatable, dimension(:,:,:,:) :: epp_meped_flux
integer :: lev_did, lat_did, mlt_did, time_did, flux_vid, levels_vid, maglat_vid, mlt_vid, time_vid
...
... I get the dimensions in some code here without issue
...
...
allocate(epp_meped_flux(epp_meped_nMLTs, epp_meped_nLats, epp_meped_nLevs, epp_meped_nDates))
...
... I get several 1-dim variables here without issue
...
ierr = pio_inq_varid(fid, 'flux', flux_vid)
ierr = pio_get_var(fid, flux_vid, epp_meped_flux)
if (masterproc) then
write(iulog,*) 'epp_meped_param_init(): flux retrieved.'
endif
The program crashes somewhere between the start of the pio_inq_varid line and the write statement. I have similar blocks of code for all of my variables (all 1-dimensional), and they all retrieve the data without issue. This makes me think it has something to do with the variable being 4-dim. Is there a limitation in pio for the number of dimensions in a variable?
The error reported in the cesm log is:
ERROR: 0031-161 EOF on socket connection with node ys1809-ib
INFO: 0031-639 Exit status from pm_respond = -1
ERROR: 0031-028 pm_mgr_handle; can't send a signal message to remote nodes
ERROR: 0031-619 No such file or directory
INFO: 0031-029 Caught signal 2 (Interrupt), sending to tasks...
ERROR: 0031-028 pm_mgr_handle; can't send a signal message to remote nodes
ERROR: 0031-619 No such file or directory
There is no error reported in the atm log. I am attaching all of them to this post.
Thanks for any advice!
-Ethan