{"action":"created","issue":{"url":"https://api.github.com/repos/fortesg/fortrantestgenerator/issues/13","repository_url":"https://api.github.com/repos/fortesg/fortrantestgenerator","labels_url":"https://api.github.com/repos/fortesg/fortrantestgenerator/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/fortesg/fortrantestgenerator/issues/13/comments","events_url":"https://api.github.com/repos/fortesg/fortrantestgenerator/issues/13/events","html_url":"https://github.com/fortesg/fortrantestgenerator/issues/13","id":326534019,"number":13,"title":"2.3.1 is now not capturing required parts of complex derived types (2.3.0 was OK)","user":{"login":"vectorflux","id":4669152,"avatar_url":"https://avatars0.githubusercontent.com/u/4669152?v=4","gravatar_id":"","url":"https://api.github.com/users/vectorflux","html_url":"https://github.com/vectorflux","followers_url":"https://api.github.com/users/vectorflux/followers","following_url":"https://api.github.com/users/vectorflux/following{/other_user}","gists_url":"https://api.github.com/users/vectorflux/gists{/gist_id}","starred_url":"https://api.github.com/users/vectorflux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vectorflux/subscriptions","organizations_url":"https://api.github.com/users/vectorflux/orgs","repos_url":"https://api.github.com/users/vectorflux/repos","events_url":"https://api.github.com/users/vectorflux/events{/privacy}","received_events_url":"https://api.github.com/users/vectorflux/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-25T13:55:18Z","updated_at":"2018-05-28T09:45:39Z","closed_at":null,"author_association":"NONE","body":"Unfortunately 2.3.1 has introduced problems in capturing all that is needed in complex derived types like p_prog and p_patch.  I'm working with 2 examples:\r\n\r\n  FortranTestGenerator.py -c mo_solve_nonhydro solve_nh\r\n  FortranTestGenerator.py -c mo_velocity_advection velocity_tendencies\r\n\r\nThe velocity_tendencies example is working with 2.3.0, albeit with the #ifdef ... #endif problem mentioned in another ticket.   With the appropriate fix for that issue, the capture works and produced the following *p_patch*.dat and *p_prog*.dat files\r\n\r\nftg_velocity_tendencies_input_0_p_patch%cells%area.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%decomp_info%owner_mask.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%edge_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%edge_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%end_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%end_index.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%neighbor_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%neighbor_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%start_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%start_index.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%area_edge.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%cell_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%cell_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%end_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%end_index.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%f_e.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%inv_dual_edge_length.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%inv_primal_edge_length.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%quad_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%quad_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%start_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%start_index.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%tangent_orientation.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%vertex_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%vertex_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%id.dat\r\nftg_velocity_tendencies_input_0_p_patch%nblks_c.dat\r\nftg_velocity_tendencies_input_0_p_patch%nblks_e.dat\r\nftg_velocity_tendencies_input_0_p_patch%nblks_v.dat\r\nftg_velocity_tendencies_input_0_p_patch%n_childdom.dat\r\nftg_velocity_tendencies_input_0_p_patch%nlev.dat\r\nftg_velocity_tendencies_input_0_p_patch%nlevp1.dat\r\nftg_velocity_tendencies_input_0_p_patch%nshift.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%cell_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%cell_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%edge_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%edge_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%end_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%end_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%end_index.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%start_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%start_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%verts%start_index.dat\r\nftg_velocity_tendencies_input_0_p_prog%vn.dat\r\nftg_velocity_tendencies_input_0_p_prog%w.dat\r\n\r\nThe replay worked fine with 2.3.0 and the test has been incorporated into the icon-standalone repository.  However, the capture with 2.3.1 only produces the following:\r\n\r\nftg_velocity_tendencies_input_0_p_patch%cells%area.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%decomp_info%owner_mask.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%edge_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%edge_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%end_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%neighbor_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%neighbor_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%cells%start_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%area_edge.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%cell_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%cell_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%end_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%f_e.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%inv_dual_edge_length.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%inv_primal_edge_length.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%quad_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%quad_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%start_block.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%tangent_orientation.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%vertex_blk.dat\r\nftg_velocity_tendencies_input_0_p_patch%edges%vertex_idx.dat\r\nftg_velocity_tendencies_input_0_p_patch%id.dat\r\nftg_velocity_tendencies_input_0_p_patch%nblks_c.dat\r\nftg_velocity_tendencies_input_0_p_patch%nblks_e.dat\r\nftg_velocity_tendencies_input_0_p_patch%nblks_v.dat\r\nftg_velocity_tendencies_input_0_p_patch%nlev.dat\r\nftg_velocity_tendencies_input_0_p_patch%nlevp1.dat\r\nftg_velocity_tendencies_input_0_p_patch%nshift.dat\r\n\r\nnote for example the missing p_patch%verts%*.dat files.\r\n\r\nThis then manifests itself in the replay.  In ftg_solve_nh_test with the following error:\r\n\r\n FTG: *** Run test for solve_nh ***\r\n FTG INIT solve_nh ftg_solve_nh_input_0\r\nFTG READ INPUT DATA solve_nh (0)\r\nAt line 1196 of file ../../../src/shr_horizontal/mo_icon_interpolation_scalar.f90\r\nFortran runtime error: Index '1' of dimension 2 of array 'ptr_patch%verts%start_blk' above upper bound of 0\r\n\r\n(which makes sense, since p_patch%verts is not allocated or read).\r\n\r\nIn ftg_velocity_tendencies_test it gives a less clear message:\r\n\r\n FTG: *** Run test for solve_nh ***\r\n FTG INIT solve_nh ftg_solve_nh_input_0\r\nFTG READ INPUT DATA solve_nh (0)\r\nSerialbox: ERROR: field 'p_nh%prog(1)%vn' has rank 3 but field with rank 1 was passed\r\nsrun: error: nid03508: task 0: Exited with exit code 1\r\nsrun: Terminating job step 7725616.1\r\n\r\nbut it is very likely also linked to the missing files.\r\n\r\nThomas suggested that \"ignore_bullshit\" might play a role here.  If we set\r\n\r\n  ignore_bullshit = .FALSE.\r\n\r\nfor example in the revised mo_solve_nonhydro.f90, then the capture produces *no* *p_patch*.dat files at all...\r\n\r\nI think it is not related to the issue about adding => NULL() to every declaration of a pointer variable, since  (1) NULL() were added to all these derived types over a year ago, (2) The capture is being performed, (3) the 2.3.0 version is working.\r\n\r\nAny help would be appreciated.\r\n\r\nBest, --Will\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/fortesg/fortrantestgenerator/issues/comments/392477728","html_url":"https://github.com/fortesg/fortrantestgenerator/issues/13#issuecomment-392477728","issue_url":"https://api.github.com/repos/fortesg/fortrantestgenerator/issues/13","id":392477728,"user":{"login":"chovyy","id":26480844,"avatar_url":"https://avatars3.githubusercontent.com/u/26480844?v=4","gravatar_id":"","url":"https://api.github.com/users/chovyy","html_url":"https://github.com/chovyy","followers_url":"https://api.github.com/users/chovyy/followers","following_url":"https://api.github.com/users/chovyy/following{/other_user}","gists_url":"https://api.github.com/users/chovyy/gists{/gist_id}","starred_url":"https://api.github.com/users/chovyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chovyy/subscriptions","organizations_url":"https://api.github.com/users/chovyy/orgs","repos_url":"https://api.github.com/users/chovyy/repos","events_url":"https://api.github.com/users/chovyy/events{/privacy}","received_events_url":"https://api.github.com/users/chovyy/received_events","type":"User","site_admin":false},"created_at":"2018-05-28T09:45:39Z","updated_at":"2018-05-28T09:45:39Z","author_association":"MEMBER","body":"Thanks for reporting this issue with the FTG interface in [Serialbox2](https://github.com/eth-cscs/serialbox2). I will see how I can fix this asap."}}
{"actor":{"display_login":"chovyy"}}