subroutine test_setPrivate_is_private() type(ESMF_State) :: state_a type(ESMF_State) :: state_b type(ESMF_Field) :: field integer :: status integer :: i_a, i_b state_a = ESMF_StateCreate(name='import', _RC) call MAPL_InfoSetNameSpace(state_a, namespace='/compA', _RC) state_b = ESMF_StateCreate(name='import', _RC) call MAPL_InfoSetNameSpace(state_b, namespace='/compB', _RC) ! Same field goes in multiple states. Accesses to private ! attributes first retrieves the namespace from state. ! Note that this means "raw" access to private attributes is ! not supported as the context in not available. field = ESMF_FieldEmptyCreate(name='f', _RC) call ESMF_StateAdd(state_a, [field], _RC) call ESMF_StateAdd(state_b, [field], _RC) call MAPL_InfoSetPrivate(state_a, short_name='f', key='a', value=1, _RC) call MAPL_InfoSetPrivate(state_b, short_name='f', key='a', value=2, _RC) call MAPL_InfoGetPrivate(state_a, short_name='f', key='a', value=i_a, _RC) call MAPL_InfoGetPrivate(state_b, short_name='f', key='a', value=i_b, _RC) @assert_that(i_a, is(1)) @assert_that(i_b, is(2)) call ESMF_FieldDestroy(field, _RC) call ESMF_StateDestroy(state_a, _RC) call ESMF_StateDestroy(state_b, _RC) end subroutine test_setPrivate_is_private