Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

miss match of arrray in call pio_write_darray in line 1223 of io_netcdf.F90 in pop2 when use intel fortran

mjin@alaska_edu

New Member
CESM 1_2_0 works fine with PGI fortran, but if you use intel fortran, you will find many errors. Some can be corrected, but I need some help and direction with this one:This miss match is detected only by intel fortran and the problem is that io_field%field_d_3d is a 4-D array (the 4th dim is max_block which is 1 since I do not use openMP) and the subroutine in the interface is a 3-D assumed array without the max_block dimension.  Inftel fortran will stop at this line with segmentation error. If I change the call to be the followingcall pio_write_darray(data_file%File, io_field%vardesc, io_field%iodesc,io_field%field_d_3d(:,:,:,1), iostat)Then it can finish the netcdf writing, but all output will be zero. Since pio_write_darray is an interface in a fortran produced by a script and contains many subroutine, it is hard me to change all of them, this kind of miss match of max_block dimemsion exist in too many places and programs. I recommend the CESM engineers test the code run with intel fortran to look at these errors. My case setting is -res T62_gx3v7 -compset G
I want to use intel vs. PGI, because intel can trace float exception and the code runs a lot faster (1.8 times faster as I tested).Thanks for help and suggestions.
 

santos

Member
We do test with Intel, possibly even more than with PGI, so the model should work. Also, there are many versions of pio_write_darray, which should work for any array up to rank 7, so passing a 4D array should not cause an error.Please specify the following:1) The version of the Intel compiler that you are using. If available, try to use version 13, as it has some bugs fixed compared to version 12.2) The machine you are running on. Is it one of the machines we support?3) What information did you get that mentioned io_netcdf? Was this a message in the log file, and if so, can you copy that here? If you set DEBUG to TRUE before building, you can sometimes get additional information. A backtrace is most helpful.
 
Top