In my program (a big model) there are two pointers profiles%p, and coef%rfp_p, both are defined in the derived data.
In one subroutine coef%rfp_p = pres (which is read from the input file), also coef%rfp_p is a array.
In the main program, after the allocate(profiles%p), there is
profiles%p(:) = coef%rfp_p(:)
do ii = 1, nlevels
print(,) profiles%p(ii), coef%rfp_p(ii)
Here the print is what I added, and I found the value for profiles%p is all 0.0, while for coef%rfp_p is correct. I did the same print in IBM machine, which is normal.
Also if I do
profiles%p(:) = 5.0 (for example) the profiles%p works normally.
Is there somebody has idea what to fix, or how to resolve the problem. Even my computer administrator says there is very weird.