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.
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.